C#語法——元組類型

 元組Tuple
 

  咱們如今使用的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; }

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

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

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

----------------------------------------------------------------------------------------------------

注:此文章爲原創,任何形式的轉載都請聯繫做者得到受權並註明出處!
若您以爲這篇文章還不錯,請點擊下方的推薦】,很是感謝!

 

相關文章
相關標籤/搜索