第六章第三节
值得注意的提示:
1.VS2005的溢出检测设置:项目->Project_Name属性->生成->高级->高级生成设置->检查运算上溢/下溢
2.checked和unchecked关键字用于选择性的打开一个特定部分的溢出检查,它们将覆盖编译器默认的设置
3.checked和unchecked关键字只能用于非整数运算,checked块的内容将强制检测,unchecked块将强制不检测
4.checked关键字和buttom.Checked属性没有直接联系
checked 与 unchecked
checked表达式:int_var=checked(int_caculate_statements)
checked表达式发生溢出时将抛出OverflowException异常
可以使用if/switch case语句结合 throw new Exception_Type("Exception_Message_String")来抛出异常
try{尝试执行的语句块} catch{异常处理的语句块} finally{无论如何都执行的语句块}
第七章 类和对象
值得注意的提示:
1.public关键字定义的字段/方法可以从类外部引用,private定义的字段/方法只能从类内部引用
2.构造函数与类同名,具备public性质,能获取参数,但不能返回任何值。每个类必须有一个构造函数。构造函数通常用来初始化默认值。
3.构造函数可以重载。
4.如果要将一个类拆分到一个以上的文件中,需要在类前面加上partial关键字,并处于同一命名空间下。
5.static方法可以不需创建对象就可以使用,如Math.Sqrt();static方法只能调用类中标记为static的其他方法,否则需要先创建对象
6.static变量可以在类的所有对象之间共享(非static字段属于一个类的每个实例),使用时需要用类名而不是实例名作为前缀。
7.常量const关键字具备static的特征,定义的时候前面省略static.
第八章 值和引用
ref关键字与out关键字
如果函数的定义部分在参数的前面加上ref关键字,则函数在进行内部针对参数运算的同时将改变传入的参数自身的值。向ref参数传递一个实参时,实参
也需要加上ref前缀
如果希望由方法本身来初始化参数,可以用out关键字来向其传递一个未初始化的实参。向out参数传递一个实参时,实参也需要加上out前缀
装箱:将一个数据项从堆栈stack自动复制到堆heap的行为称为装箱boxing,将值赋给object类型的变量 例如object o=42
拆箱:当一个object真的引用一个已装箱的某型变量,那么某型变量可以通过强制类型转换取得object的值 例如int i=42;object o=i;i=(int)o;
值得注意的提示:
1.ref参数在使用前必须初始化
2.创建一个新的对象后,如果定义一个同类的对象并进行了=操作,则形成引用。形成引用的各个对象名将共享数据。
unsafe相关的部分暂时略去,看不明白有什么实际作用
第九章 枚举和结构
枚举类型
定义方法:
enum Enum_Name(Enum_Element1,Enum_Element2,Enum_Element3,.....)
使用方法:
Enum_Name.Enum_Element
枚举量的基础类型默认为int,也可以用于其他的整数类型,例如byte,sbyte,short,ushort,int,uint,long,ulong。如果一个枚举基于byte,则最多可以
容纳256个直接量
结构类型
定义方法:
struct Struct_Type_Name{public var_type var1,var2,var3;}
使用方法:
Struct_Type_Name Struct_Name(arg1,arg2,arg3)
Struct_Name.var1
值得注意的提示:
1.int就是Int32的别名,因此可以直接使用类似int.Parse的操作
第十章 数组和集合
数组
定义方法:
var_type[] Array_Name = new var_type[Array_Size_X,Array_Size_Y]
数组长度:
Array_Name.Count();
复制数组:
Array_Name1.CopyTo(Array_Name2,0);
Array.Copy(Sour_Array_Name,Tage_Array_Name,Tage_Array_Name.Length)
遍历:使用foreach,从索引0遍历到索引Length-1,例如:foreach(var_type var_name in Array_Name) 此后即可对var_name进行操作
集合类:近似的理解为object数组
值得注意的提示:
使用随机数(伪随机)可以这样:Random r = new Random()
使用非负的随机数:r.Next()