Tuple、ValueTuple
當方法返回值大於一個時我們有時用out或結構體或類來處理,今天介紹一個簡便的多返回值方式。
ValueTuple 是 Tuple的擴展,本文只針對最新的ValueTuple 做講解,Tuple有很多不便之處,總之過時的就讓他過去吧。
Tuple | ValueTuple |
---|---|
.Net Framework 4.0 內置 | Nuget 安裝System.ValueType 和 Net4.7內置 |
是一個類 | 是一個結構 |
項目源碼地址:https://gitee.com/michel4liu/LearnCSharp.git
項目:LearnTuple
環境VS2017 .NET Core2.0
一、ValueTuple基本用法
1、接收值可用Item表示,可以識別類型.
2、接收時改別名,相當於直接聲明三個變量接受對應值
3、ValueTuple可以簡寫
二、ValueTuple 返回值加別名 最簡單明瞭的用法。
三、解構ValueTuple 返回值中只想要部分
不想要的參數可以用 “_” 下劃線代替,下圖中只接受y值
四、創建ValueTuple
五、剛看完就在真實項目中用到
六、下面鏈接的文章寫的是編譯後的ValueTuple 工作內容。貌似所有的簡寫都是編譯器的功勞
https://www.cnblogs.com/linianhui/p/csharp7_tuple.html
注意點
1、ValueTuple最多支持8個返回值,可以在第8個上嵌套ValueTuple,但是如果系統真的需要這麼多返回值是不是該考慮封裝成類傳遞更好些。微軟建議超過64字節不要用結構。