1、C#入口函数是Main函数 (首字母M需要大写),Main函数形式为: static void Main(string[ ] args)。
2、Main入口函数必须有且只有一个,且必须属于某一类。
3、C#标识符可以由字母、数字、下划线和中文文字组成,但是不能以数字开始。标识符区分大小写。
4、可通过类 Console 里面的函数实现输入输出操作,如 Console.WriteLine 、 Console.ReadLine 等。
5、格式化输出时,可以通过 {从0开始计算的序号} 形式进行格式化,如 Console.WriteLine( "{0} + {1} = {2}", a , b , a+b); 。
6、可通过 int、float 等简单类型的类函数 Parse 将字符串转化为相应的类型,如 int i = int.Parse("123");。
7、多数类型可通过内置的 ToString 函数将其转化成字符串形式,如 int i = 123;string s = i.ToString( );。
8、字符串可以直接通过加号运算符 + 进行连接,如 string s = "123" + "456";。
9、布尔类型 bool 数据只有两种可能的结果,分别是 true 和 false 。
10、定义数组格式为 类型 [ ] 数组名,如 int [ ] arr; 。
11、使用 new 创建数组,格式为 new 类型[元素个数]{各元素值列表},如 new int[2]{1,2}; 。花括号及各元素列表可省略。
12、数组不允许越界访问,可以通过数组的 Length 成员获取数组元素个数,如 arr.Length 。
13、用户自定义的数据 (如常量、变量等) 和操作 (方法等) 必须属于某一类 (class) 或 结构体 (struct ,不常用) 等,不能单独存在。
14、类 (class) 类型的数据也被称为 对象 或 实例。
15、实例是以类为模版创建出来的。类和实例是一对多关系。
16、程序中,“活跃”的是实例而不是类。
17、类的实例成员全部或部分通常写作顺序是 访问限制 类型 成员名,如 public string s。访问限制可省略,省略时为 private 。
18、类及类的成员定义顺序可任意,且类及类的成员可以使用在定义之前。
19、类的实例字段成员可以在定义时指定一个值如 public string s = "abc";。在创建实例后,未重新赋值情况下,字段默认是类定义时的值。
20、定义实例,形式为: 类名 实例名 ,例:string s 。
21、实例方法调用方式为: 实例名.方法名(参数列表) ,例:s.Equals("55") 。
22、实例属性或字段引用方式为: 实例名.属性或字段名 ,例:s.Length 。
23、类的实例成员方法,可通过 this 关键字引用本实例。
24、创建实例使用 new 关键字,形式为: new 类名(构造参数列表) 例:new string('5',2) 。
25、使用 new 关键字创建的对象不必使用自定义代码释放。.NET 有垃圾回收机制,会自行实现回收。
26、字符串可以通过双引号引起来直接赋值而不必使用 new 关键字,如string s = "abc"; 。
27、属性的 set 和 get 两个访问器至少要存在一个。
28、set 访问器代码在属性被赋值时触发,get 访问器代码在属性被读取时触发。
29、属性拥有 set 访问器才能被赋值,拥有 get 访问器才能被读取。
30、在 set 访问器里再对相应属性赋值可能导致死循环直到内存溢出,同样规律对 get 访问器也适用。
31、属性的 set 访问器代码里,关键字 value 代表被赋予的值。
类的成员类型
字段 : 类中(不包含 get 和 set 访问器(又被称为 块)的)普通数据成员,又被称为 域 或 成员变量
方法 : 类中的函数成员,又被称为 函数
属性 : 带有 get 或 set 访问器的数据成员
访问限制 protetct和internal可合并使用
private : 仅本类中的代码可访问 (默认)
internal : 同一程序集内代码可访问
protected : 本类或派生类内代码可访问
public : 任何代码均可访问