C#弃元表达式的用法
生活随笔
收集整理的這篇文章主要介紹了
C#弃元表达式的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:http://cshelloworld.com/home/detail/1803462343674433536
棄元符號是什么
棄元符號在C#中只是一個下劃線 _,當程序員不想關注某些變量的時候,可以使用這個符號。
用法一:忽略方法的返回值
當C#中某個方法有返回值,但是這個返回值對程序來說沒有用處,同時不想在后面的代碼中使用這個變量的時候,可以使用棄元符號放棄這變量。
_ = Method1();
用法二:忽略異步方法的返回值
當程序中有異步方法的時候,一般都需要await關鍵字。但是如果希望程序以異步方式運行,就可以不寫關鍵字。不過這個時候vs編譯器會直接警告,這個時候通過棄元符號就可以放棄這個返回值,并且消除編譯器的警告,下面是兩種寫法,一種是直接忽略Task.Run()方法的返回值,一種是忽略異步方法的返回值。其實第二種寫法和用法一的忽略方法返回值是類似的。
_ = Task.Run(() =>
{
Console.WriteLine("這是一個異步方法");
});
_ = MethodAsync();
用法三:忽略元組的返回值
當方法的返回值是元組的時候,元組中有多個變量,如果只用到元組中的個別變量,就可以通過棄元符號放棄其他元組變量。下面的代碼中有一個方法GetTuple返回四個變量,但是在調用這個方法的時候,調用方只接受了第一個參數a,其他三個參數通過棄元符號忽略掉。
var (a, _, _, _) = GetTuple();
static (int a, int b, int c, int d) GetTuple()
{
return (1, 2, 3, 4);
}
用法四:忽略out返回值
bool result = int.TryParse("123", out _);
用法五:獨立棄元 ??
通過下面這種方式可以用一行代碼直接對空引用的字符串拋出異常,并且必須要有棄元符號,否則arg ?? throw new Exception("arg not null"); 這個表達式是無法單獨編譯通過的。這在C#中叫做獨立棄元。
string arg = string.Empty
_ = arg ?? throw new Exception("arg not null");
用法五:switch 里面的默認值忽略
下面的代碼通過在switch中,當前嗎的case選項都無法匹配的時候,就會使用最后面棄元符號表示的默認值。
string weekStr = "星期一是的是的 ";
int week = weekStr switch
{
"星期一" => 1,
"星期二" => 2,
_ => -1
};
總結
以上是生活随笔為你收集整理的C#弃元表达式的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jsp 和 Servlet 有什么不同?
- 下一篇: c# char unsigned_dll