程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual C# 2010新特性之命名和可選參數與類型等價支持(1)

Visual C# 2010新特性之命名和可選參數與類型等價支持(1)

編輯:關於C語言

1. 命名和可選參數

Visual C# 2010引入了命名和可選參數,經常使用SQL Server編寫存儲過程的開發人員對此應該比較熟 悉—命名參數和可選參數與存儲過程的參數十分相似。

命名參數允許調用者通過提供參數的名稱來為其賦值,這樣參數的位置就不在重要了。可選參數允許 在定義時為某些參數賦值,在調用時可以忽略這些“可選的”參數。命名參數和可選參數可以應用在方法 、索引器、構造函數和委托。命名參數和可選參數與dynamic類型結合在一起使用,可以方便的訪諸如 Office自動化API之類的COM API。

1.1 命名參數

命名參數的語法為:

參數名稱1:參數值1,參數名稱2:參數值2…

例如以下代碼:

static void Main(string[] args)
{
  CreateUser (password:"adminpassWord",name:"admin");
}

static void CreateUser(string name,  string passWord)
{
  Console.WriteLine("name:{0},password:{1}", name,  passWord);
}

可以看到由於在調用時使用了命名參數,參數的位置就不在重要了。

1.2. 可選參數

方法、構造函數、索引器和委托的定義可以指定其參數為必選的還是可選的,在調用時必須提供必選 參數,但是可以省略可選參數。

還可以使用System.Runtime.InteropServices.OptionalAttribute特性類定義可選參數,該類從1.0時 代就已經包含在基類庫中了。

每一個可選參數的定義都包含默認值(默認值必須是常量),如果在調用時沒有指定該參數,則使用 默認值。例如以下代碼:

static void Main(string[] args)
{
  CreateUser ("admin","adminpassWord",50);
}

/// <summary>
/// 創建用戶
///  </summary>
/// <param name="name">用戶名稱</param>
/// <param  name="passWord">用戶密碼</param>
/// <param name="score">積分 </param>
/// <param name="isLocked">是否鎖定</param>
static void  CreateUser(string name, string passWord,
  int score=20,bool isLocked=false)
{
  Console.WriteLine("name:{0},password:{1}", name, passWord);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved