📅  最后修改于: 2023-12-03 14:39:45.237000             🧑  作者: Mango
C# 语言中,可以使用只读数组作为方法的默认值,为程序员带来了很多便利。
只读数组是 C# 7.2 版本中引入的新功能,使用 readonly
关键字定义:
readonly int[] arr = {1, 2, 3};
只读数组有以下特点:
方法的默认值是指在调用方法时如果没有传递对应参数,那么就会使用默认值。方法默认值可以使用指定的表达式或常量在参数列表中定义。
void Method(int i = 0, string s = "default")
{
//...方法体
}
在调用 Method
方法时,如果省略 i
或 s
参数,那么就会使用默认值 0
或 default
。
只读数组可以作为方法的默认值,比如:
void Method(readonly int[] arr = null)
{
//...方法体
}
在调用 Method
方法时,如果省略 arr
参数,那么就会使用 null
做为默认值。
注意,只读数组不能作为可选参数,因此需要显式指定 null
作为默认值。
class Program
{
static readonly int[] DefaultArr = { 1, 2, 3 };
static void Main(string[] args)
{
Method(); //调用方法,使用默认值
int[] arr = { 4, 5, 6 };
Method(arr); //调用方法,传递数组参数
}
static void Method(readonly int[] arr = null)
{
if (arr == null)
{
arr = DefaultArr;
}
Console.WriteLine(string.Join(",", arr));
}
}
输出结果为:
1,2,3
4,5,6
C# 中使用只读数组作为方法默认值可以提高代码的可读性和易维护性。只读数组不可更改的特点保证了默认值的不变性,而新语法的使用也不会增加额外的开销或复杂度。