咱們如今使用的C#語法已經能夠知足平常的開發需求,但C#語法還在進行版本的更新,在創造更多更優秀的語義來讓咱們使用。這裏介紹一下C#5.0裏的提供的語法——元組。html
在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>對象。框架
元組經常使用四種方法︰async
1,用來表示一組數據。 例如,一個元組能夠表示的數據庫記錄,而且其組件能夠表示每一個字段的記錄。函數
2,若要提供輕鬆訪問和數據集的操做。spa
3,out參數 (在 C# 中) 或ByRef參數 (在 Visual Basic 中)。.net
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; }
----------------------------------------------------------------------------------------------------
注:此文章爲原創,任何形式的轉載都請聯繫做者得到受權並註明出處!
若您以爲這篇文章還不錯,請點擊下方的【推薦】,很是感謝!