可選引數
考慮前面是我們的函式定義與可選引數。
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。