1。#region和#endregion关键字。定义可以展开和折叠的代码区域的开头和结尾,相当于obj-c中的#pragma mark。
2。ref关键字。使用ref关键字指定函数参数,可以在函数中直接改变变量的值。调用有该关键字修饰参数的函数,必须使用非常量变量,而且变量必须先初始化。
static void ShowDouble (ref int val) {
val *= 2;
Console.WriteLine("val = {0}",val);
}
在函数调用中必须再次指定它(ref 参数是函数签名的一部分):
int number = 5;
Console.WriteLine("number = {0}",number);
ShowDouble (ref number);
Console.WriteLine("number = {0}",number);
输出如下:
number = 5
val = 10
number = 10
如果将上述代码段的“int number = 5;”改为:“const int number = 5;”或“int number;”都是错误的。
3、out关键字。使用方式与ref关键字相同,区别:把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数;在使用out参数时,out参数必须看做未赋值的。