对于C#中几个关键词老是容易搞混淆,在于记录一下
一 out out 关键字可以将值类型转换成引用类型,带入到方法中,并进行返回。 static void Main(string[] args) {
Test2(out int b);
Console.WriteLine(b);
Console.ReadKey();
}
static void Test2(out int b)
{
b = 2;
}
最后得出结果为:2;
二 ref ref 关键字与out相类似,区别在于ref被带入到方法中取时,需要在函数外进行定义初始化
static void Main(string[] args)
{
int a=0;
Test(ref a);
Console.WriteLine(a);
Console.ReadKey();
}
static void Test(ref int a)
{
a += 5;
}
最后结果为:5
三 params params主要用在给函数传参数,函数的方法不固定的的时候用。在函数中使用params 需要掌握以下几点: (1)若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后;
(2)参数数组必须是一维数组;
(3)不允许将params修饰符与ref和out修饰符组合起来使用;
(4)与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量;
(5)若实参是数组则按引用传递,若实参是变量或表达式则按值传递。
(6)用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组,
四 extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非
托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,如下面的示例所示:[DllImport("avifil32.dll")] private static extern void AVIFileInit();