日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

命名实参和可选实参(C#)

發(fā)布時間:2025/5/22 102 豆豆
生活随笔 收集整理的這篇文章主要介紹了 命名实参和可选实参(C#) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C# 2010 引入了命名實參和可選實參。 利用“命名實參”,您將能夠為特定形參指定實參,方法是將實參與該形參的名稱關(guān)聯(lián),而不是與形參在形參列表中的位置關(guān)聯(lián)。

? 利用“可選實參”,您將能夠為某些形參省略實參。 這兩種技術(shù)都可與方法、索引器、構(gòu)造函數(shù)和委托一起使用。

在使用命名實參和可選實參時,將按實參出現(xiàn)在實參列表(而不是形參列表)中的順序計算這些實參。

命名形參和可選形參一起使用時,您將能夠只為可選形參列表中的少數(shù)形參提供實參。

命名實參

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

例如,可以采用標(biāo)準(zhǔn)方式調(diào)用計算身體質(zhì)量指數(shù) (BMI) 的函數(shù),方法是依照該函數(shù)定義的順序按位置發(fā)送體重和身高的實參。

CalculateBMI(123, 64);

如果不記得形參的順序,但卻知道其名稱,您可以按任意順序(先發(fā)送體重或先發(fā)送身高)發(fā)送實參。

CalculateBMI(weight: 123, height: 64);CalculateBMI(height: 64, weight: 123);

命名實參還可以標(biāo)識每個實參所表示的含義,從而改進代碼的可讀性。


例如:

class NamedExample {static void Main(string[] args){Console.WriteLine(CalculateBMI(123, 64));//命名實參Console.WriteLine(CalculateBMI(weight: 123, height: 64));Console.WriteLine(CalculateBMI(height: 64, weight: 123));//命名實參可以放在位置實參后面,但是位置實參不能放在命名實參后面//下面的語句將導(dǎo)致編譯錯誤//Console.WriteLine(CalculateBMI(weight: 123, 64));Console.WriteLine(CalculateBMI(123, height: 64));}//此處weight、height 都是形參,實際調(diào)用的地方都是實參static int CalculateBMI(int weight, int height){return (weight * 703) / (height * height);} }
可選實參

方法、構(gòu)造函數(shù)、索引器或委托的定義可以指定其形參為必需還是可選。 任何調(diào)用都必須為所有必需的形參提供實參,但可以為可選的形參省略實參。

每個可選形參都具有默認(rèn)值作為其定義的一部分。 如果沒有為該形參發(fā)送實參,則使用默認(rèn)值。 默認(rèn)值必須為常量。  

可選形參在形參列表的末尾定義,位于任何必需的形參之后。 如果調(diào)用方為一系列可選形參中的任意一個形參提供了實參,則它必須為前面的所有可選形參提供實參。 實參列表中不支持使用逗號分隔的間隔。 例如:

?

class OptionalExample {// 命名參數(shù)和可選參數(shù)public static void Search(string name, int age = 21, string city = "Pueblo"){Console.WriteLine("Name = {0} - Age = {1} - City = {2}", name, age, city);}static void Main(string[] args){// 通用調(diào)用方式Search("Sue", 22, "New York");// 省略city可選參數(shù)Search("Mark", 23);//命名實參Search("Lucy", city: "Cairo");// 命名參數(shù)的順序和形參順序不相同Search("Pedro", age: 45, city: "Saigon");//實參列表中不支持使用逗號分隔的間隔//此處將導(dǎo)致編譯錯誤//Search("Pedro", ,"Saigon");}} IntelliSense 使用括號指示可選形參,如下圖所示

注意:還可以通過使用 .NET OptionalAttribute 類來聲明可選形參。 OptionalAttribute 形參不需要默認(rèn)值。



轉(zhuǎn)載于:https://www.cnblogs.com/dreamzyl/archive/2011/04/07/2007889.html

總結(jié)

以上是生活随笔為你收集整理的命名实参和可选实参(C#)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。