可选参数
考虑前面是我们的函数定义与可选参数。
private static double FindAreaWithOptional(int length, int width=56)
{
try
{
return (length * width);
}
catch (Exception)
{
throw new NotImplementedException();
}
}
这里我们将 width 的值设置为可选,并将值设置为 56.如果你注意,IntelliSense 本身会显示可选参数,如下图所示。
Console.WriteLine("Area with Optional Argument : ");
area = FindAreaWithOptional(120);
Console.WriteLine(area);
Console.Read();
请注意,我们在编译时没有收到任何错误,它将为你提供如下输出。
使用可选属性
实现可选参数的另一种方法是使用 [Optional]
关键字。如果未传递可选参数的值,则将该数据类型的默认值分配给该参数。Optional
关键字存在于“Runtime.InteropServices”命名空间中。
using System.Runtime.InteropServices;
private static double FindAreaWithOptional(int length, [Optional]int width)
{
try
{
return (length * width);
}
catch (Exception)
{
throw new NotImplementedException();
}
}
area = FindAreaWithOptional(120); //area=0
当我们调用函数时,我们得到 0,因为第二个参数没有传递,int 的默认值是 0,因此乘积为 0。