我們現在使用的C#語法已經可以滿足日常的開發需求,但C#語法還在進行版本的更新,在創造更多更優秀的語義來讓我們使用。這裡介紹一下C#5.0裡的提供的語法——元組。
在C#中定義Tuple物件,轉到定義檢視,我們會看到如下程式碼
#region 程式集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6mscorlib.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; }
—————————————————————————————————-
注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文連結!
若您覺得這篇文章還不錯,請點選下右下角的推薦,非常感謝!