摘要:[C#]隨筆手扎 - 參數
這篇文章,算是純手扎了,我想,大部分的人都應該知道用法,在此分享給初學者了!
C# 4.0中,新增了以下二種參數的調用方法:
選擇性參數及具名參數 <範例程式碼>
class Program
{
static void Main(string[] args)
{
//選擇性參數
Book.Detail(1, "ASP.NET 輕鬆上手");
Book.Detail(2, "C# 4.0 Unleashed", 2100, "C#");
//具名參數
Book.Detail(BookName: "王者歸來C#4.0權威指南", BookMark: "C#", dt: new DateTime(2011, 4, 1), Price: 680, BookID: 3);
Book.Detail(BookName: "Visual Basic 2010程式設計", BookID: 4);
}
}
public class Book
{
public static void Detail(int BookID, string BookName, int Price = default(int), string BookMark = "未歸類", DateTime dt = default(DateTime))
{
Console.WriteLine("書號:" + BookID + ", 書名:" + BookName + ", 分類:" + BookMark + ", 定價" + Price + " " + dt.ToShortDateString());
}
}
<實際結果>
從以上的例子,不難看出二者的使用方式及差別,也因為多了這二種參數,讓重載的寫法可以更有彈性了!
以下,再介紹原本就有的參數使用方法(非C# 4才有),這做法再加上以上參數使用,相信可以讓您省下不少工的!
params(array parameter)
<範例程式碼>
public static void Test()
{
CalcSum("Bee",new int[]{90,80,75,83});
CalcSum("Mary",82,87,92,85);
CalcSum("Tom", 77, 78, 82);
CalcSum("LaLa");
CalcSum("Jery",null);
}
public static void CalcSum(string StuName, params int[] score)
{
int sum = 0;
if (score != null)
{
foreach (int value in score)
{
sum += value;
}
Console.WriteLine(string.Format("姓名:{0} , 總成績:{1:d}",StuName,sum));
}
}
<實際結果>