函数特殊参数(parameters)

·   ·   ·   ·

  ·   ·


参数数组

C# 允许在函数定义中的最后一个参数声明一个参数数组,它允许使用个数不定的参数来调用函数,可使用 params 关键字定义该参数

public void test (int a, 
b 
arr[O]; 
int b, 
params int[] arr)

以上代码定义了一个使用参数数组的方法 test ,arr 为参数数组名,其中参数均为 int ,甚至不需为其指定参数

引用参数和值参数

C# 中可使用 ref 关键字来定义一个引用参数,对该参数进行的任何操作都会改变作用参数的变量值

public void test (ref int b) 
10;1 
b

以上代码定义了一个引用参数 b

引用参数必须使用初始化过的变量,C#不允许假定 ref 参数在使用它的函数中初始化

输出函数

C# 中可以使用 out 关键字指定一个输出参数,在函数执行完毕后,该参数的值将返回给函数调用中使用的变量

public void test (out int b)

以上代码定义了一个输出参数 b

  • out 关键字的使用方式和执行方式和 ref 几乎一致,但二者存在一些重要区别
    1.  把未赋值的变量用作 ref 参数是非法的,但可以把未赋值的变量用作 out 参数
    2. 在函数使用 out 参数时,必须将其看成尚未赋值,即调用代码时可使用已赋值的变量作为 out 参数,但存储在该变量中的值会在函数执行时丢失