C#語法——元組型別

kiba518發表於2018-06-28
 元組Tuple
 

  我們現在使用的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; }

C#語法——委託,架構的血液

C#語法——泛型的多種應用

C#語法——await與async的正確開啟方式

—————————————————————————————————-

注:此文章為原創,歡迎轉載,請在文章頁面明顯位置給出此文連結!
若您覺得這篇文章還不錯,請點選下右下角的推薦,非常感謝!

相關文章