我們現在使用的C#語法已經可以滿足日常的開發需求,但C#語法還在進行版本的更新,在創造更多更優秀的語義來讓我們使用。這里介紹一下C#5.0里的提供的語法——元組。
在C#中定義Tuple對象,轉到定義查看,我們會看到如下代碼
#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\mscorlib.dll #endregion
即該語法在.Net Framework4框架中已經可以支持了。
元組Tuple是一種數據結構,具有特定數量和元素序列。什么意思呢?就是元組是可以存貯多種類型的對象,可以想象一下當一個函數擁有多個不同類型的返回值時,我們除了定義了一個返回值以外,還要定義多個out或ref類型返回值才能解決這個需求;當然我們也可以定義一個對象保存多個返回值。但現在我們多了一個解決方案,定義返回值為一個元組,就解決了一切。
元組Tuple是可以存貯多種類型的數據的。NET Framework 直接支持具有 1 到 7 元素的元組。 此外,您可以創建由嵌套中的元組對象的元組的八個或多個元素Rest屬性Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>對象。
元組常用四種方法︰
1,用來表示一組數據。 例如,一個元組可以表示的數據庫記錄,並且其組件可以表示每個字段的記錄。
2,若要提供輕松訪問和數據集的操作。
3,out參數 (在 C# 中) 或ByRef參數 (在 Visual Basic 中)。
4,若要將多個值傳遞給通過單個參數的方法。 例如,Thread.Start(Object)方法只有一個參數,允許你提供一個線程在啟動時執行的方法的值。如果你提供Tuple<T1, T2, T3>對象作為方法自變量,則可以提供有三個項的數據的線程的啟動例程。
class Program { static void Main(string[] args) { var tuple = new Tuple<string, int, int, int>( "Kiba", 00001, 00002, 00003); Console.WriteLine(tuple.Item1); Console.WriteLine(tuple.Item2); Console.WriteLine(tuple.Item3); Console.WriteLine(tuple.Item4); var tupleCalss = new Tuple<A, B>( new A(), new B()); Console.WriteLine(tupleCalss.Item1.Name); Console.WriteLine(tupleCalss.Item2.Name); Console.ReadKey(); } } public class A { public string name = "A"; public string Name { get => name; set => name = value; } } public class B { public string Name = "B"; }
}
輸出結果
Kiba
1
2
3
A
B
【PS:這里使用的目標框架是.net framework 4.0 ,我們可以看到屬性的聲明如下,即4.0已經支持=>模式的屬性設置了。】
public string name = "A"; public string Name { get => name; set => name = value; }
----------------------------------------------------------------------------------------------------
注:此文章為原創,任何形式的轉載都請聯系作者獲得授權並注明出處!
若您覺得這篇文章還不錯,請點擊下方的【推薦】,非常感謝!