Professional C# 学习笔记(二 c#基础)
2010-04-18 12:40
363 查看
要点笔记
一、变量的初始化和作用域
1、c#的变量在使用前必须初始化,遵循的两个规则:
1)、变量是类或者结构中的字段,如果没有显式初始化,创建这些变量时,默认值为0(0,false,空字符串,null).
2)、方法的局部变量必须在代码中显式初始化。
2、变量的作用域
1)、成员变量的作用域和类的作用域相同。
2)、局部变量存在于声明该变量的方法或者块语句之内。
作用域冲突:
二、C#预定义数据类型
1、分类:
值类型:存储值,存储在堆栈中。
引用类型:存储在托管堆上。
CTS(Common Type System)类型:c#认可的基本数据类型并没有内置于c#语言中,而是内置于.netframework中。
c#中声明了一个int类型的数据时,实际上声明的是 System.Int32的一个实例(但性能并没有损失)。这在语法上表示,
可以把所有的基本数据类型看作是支持某些方法的类,如把int转换为string:int i; string s= i.toString();
2、 预定义的引用类型
1)、object类
2)、string类
虽然分配在托管堆上,但执行赋值等操作时,仍然类似于值类型。
string的转义符:\
string a="C:\\windows\\Debug";
另一种替代方式,在字符串前面加上字符@,如 string a=@"C:\windows\Debug";
甚至允许在字符串中包含换行符,如:
string s=@"hello,welcome here
My dearing!";
s的值就是:hello,welcome here
My dearing!
三、C#流控制(略)
四、C#枚举
枚举的定义:
public enum TimeofDay
{
Morning =0,
Afternoon=1,
Evening =2
}
枚举类的使用:
public void EnumTest()
{
//获取枚举类的字符串表示
TimeofDay time = TimeofDay.Evening;
string s = time.ToString();//返回Evening
//获取枚举类的值
TimeofDay time2 = TimeofDay.Evening;
int i = (int)time2;
//根据字符串表示获取枚举类的值
TimeofDay time3 = (TimeofDay)Enum.Parse(typeof(TimeofDay), "afternoon", true);
int j = (int)time3;
}
五、C#命名空间
命名空间是一种逻辑组合,而不是物理组合,与程序集无关。
命名空间可以使用别名,可以通过GetType().Namespace返货类的命名空间。
一、变量的初始化和作用域
1、c#的变量在使用前必须初始化,遵循的两个规则:
1)、变量是类或者结构中的字段,如果没有显式初始化,创建这些变量时,默认值为0(0,false,空字符串,null).
2)、方法的局部变量必须在代码中显式初始化。
2、变量的作用域
1)、成员变量的作用域和类的作用域相同。
2)、局部变量存在于声明该变量的方法或者块语句之内。
作用域冲突:
private void ScopeTest() { int j = 20; while (true) { int j = 30;//error 作用域冲突(P:区别于c++) } }
作用域隐藏:
class TempClass { int j = 20; static int k = 100; public void ScopeTest() { int j = 30; //ok,隐藏了类的成员变量 int k = 110; //ok,隐藏了类的成员变量 } }
二、C#预定义数据类型
1、分类:
值类型:存储值,存储在堆栈中。
引用类型:存储在托管堆上。
CTS(Common Type System)类型:c#认可的基本数据类型并没有内置于c#语言中,而是内置于.netframework中。
c#中声明了一个int类型的数据时,实际上声明的是 System.Int32的一个实例(但性能并没有损失)。这在语法上表示,
可以把所有的基本数据类型看作是支持某些方法的类,如把int转换为string:int i; string s= i.toString();
2、 预定义的引用类型
1)、object类
2)、string类
虽然分配在托管堆上,但执行赋值等操作时,仍然类似于值类型。
string的转义符:\
string a="C:\\windows\\Debug";
另一种替代方式,在字符串前面加上字符@,如 string a=@"C:\windows\Debug";
甚至允许在字符串中包含换行符,如:
string s=@"hello,welcome here
My dearing!";
s的值就是:hello,welcome here
My dearing!
三、C#流控制(略)
四、C#枚举
枚举的定义:
public enum TimeofDay
{
Morning =0,
Afternoon=1,
Evening =2
}
枚举类的使用:
public void EnumTest()
{
//获取枚举类的字符串表示
TimeofDay time = TimeofDay.Evening;
string s = time.ToString();//返回Evening
//获取枚举类的值
TimeofDay time2 = TimeofDay.Evening;
int i = (int)time2;
//根据字符串表示获取枚举类的值
TimeofDay time3 = (TimeofDay)Enum.Parse(typeof(TimeofDay), "afternoon", true);
int j = (int)time3;
}
五、C#命名空间
命名空间是一种逻辑组合,而不是物理组合,与程序集无关。
命名空间可以使用别名,可以通过GetType().Namespace返货类的命名空间。
相关文章推荐
- C#学习笔记(八)—–LINQ查询的基础知识(中)
- C#基础学习笔记
- C#学习笔记---基础入门(二)
- C#学习笔记---基础入门(三)
- Programming C# 学习笔记(三) C#语言基础
- C# 学习笔记二(图形绘制基础2 常用画图对象)
- C#学习笔记(有C,C++,JAVA语言基础)
- 黑马程序员之C#编程基础学习笔记:让用户输入两个数,打印出两个数的和。
- 黑马程序员之C#编程基础学习笔记:用while计算1到100之间整数的和;
- 黑马程序员之C#编程基础学习笔记:计算一个整数数组的所有元素的和。
- 【Professional C# 读书笔记】(一)-----C#语言基础
- C#学习笔记一 基础知识点整理
- 2012-04-07 C#基础学习笔记(6)
- C#基础学习笔记--数据类型,值类型,结构类型,枚举类型
- Visual C# 技术内幕学习笔记 第二章 C#基础(1) 几个概念
- [学习笔记]C#编程基础1
- 自己用的C#基础学习笔记(二)——C#面向对象(2)
- C#RabbitMQ基础学习笔记
- 学习笔记9:C#基础(面向对象和字符串的方法)
- C#学习笔记(二十一):使用文件基础