日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

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

C# 2010 引入了命名實(shí)參和可選實(shí)參。 利用“命名實(shí)參”,您將能夠?yàn)樘囟ㄐ螀⒅付▽?shí)參,方法是將實(shí)參與該形參的名稱關(guān)聯(lián),而不是與形參在形參列表中的位置關(guān)聯(lián)。

? 利用“可選實(shí)參”,您將能夠?yàn)槟承┬螀⑹÷詫?shí)參。 這兩種技術(shù)都可與方法、索引器、構(gòu)造函數(shù)和委托一起使用。

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

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

命名實(shí)參

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

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

CalculateBMI(123, 64);

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

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

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


例如:

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

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

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

可選形參在形參列表的末尾定義,位于任何必需的形參之后。 如果調(diào)用方為一系列可選形參中的任意一個(gè)形參提供了實(shí)參,則它必須為前面的所有可選形參提供實(shí)參。 實(shí)參列表中不支持使用逗號(hà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);//命名實(shí)參Search("Lucy", city: "Cairo");// 命名參數(shù)的順序和形參順序不相同Search("Pedro", age: 45, city: "Saigon");//實(shí)參列表中不支持使用逗號(hào)分隔的間隔//此處將導(dǎo)致編譯錯(cuò)誤//Search("Pedro", ,"Saigon");}} IntelliSense 使用括號(hào)指示可選形參,如下圖所示

注意:還可以通過使用 .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)容還不錯(cuò),歡迎將生活随笔推薦給好友。