程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 命名實參和可選實參 Named and Optional Arguments,optionalarguments

命名實參和可選實參 Named and Optional Arguments,optionalarguments

編輯:C#入門知識

命名實參和可選實參 Named and Optional Arguments,optionalarguments


1. 利用“命名實參”,您將能夠為特定形參指定實參,方法是將實參與該形參的名稱關聯,而不是與形參在形參列表中的位置關聯。

static void Main(string[] args)
{
      Console.WriteLine(CalculateBMI(weight: 123, height: 64)); //實參命名
      Console.WriteLine();

}

static int CalculateBMI(int weight,int height)
{
       return (weight * 703) / (height * height);
}

有了命名實參,您將不再需要記住或查找形參在所調用方法的形參列表中的順序。 可以按形參名稱指定每個實參的形參。

下面的方法調用都可行:

CalculateBMI(height: 64, weight: 123);

命名實參可以放在位置實參後面,如此處所示。

CalculateBMI(123, height: 64);

但是,位置實參不能放在命名實參後面。 下面的語句會導致編譯器錯誤。

//CalculateBMI(weight: 123, 64);

 

2. 方法、構造函數、索引器或委托的定義可以指定其形參為必需還是可選。 任何調用都必須為所有必需的形參提供實參,但可以為可選的形參省略實參。

static void Main(string[] args)
{

ExampleClass anExample = new ExampleClass(); 

anExample.ExampleMethod(1, "One", 1);
anExample.ExampleMethod(2, "Two");
anExample.ExampleMethod(3);

ExampleClass anotherExample = new ExampleClass("Provided name");
anotherExample.ExampleMethod(1, "One", 1);
anotherExample.ExampleMethod(2, "Two");
anotherExample.ExampleMethod(3);
anotherExample.ExampleMethod(4, optionalInt: 4);//運用實參命名,可以跳過之前的可選實參
//anotherExample.ExampleMethod(4, 4) 這樣要報錯,不能中間默認跳過某幾個可選實參,要依次給之前出現的可選實參賦值

}

class ExampleClass

{

private string _name;
public ExampleClass (string name="default name") //構造函數的參數為可選實參
{
       _name = name;
}
public void ExampleMethod(int reqired, string optionalstr = "default string", int optionalInt = 10) //第一個為必需實參,後兩個為可選實參
{
      Console.WriteLine("{0}:{1},{2} and {3}", _name, reqired, optionalstr, optionalInt);
}

}

 

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