1. 程式人生 > >C#4.0中的元組物件Tuple

C#4.0中的元組物件Tuple

一、什麼是元組

元組就是一些物件的集合,在我們程式設計時,比如一個人的資訊,我們常常建立一個Person類去描述一個人,傳統的做法如下:

public class Person{ 

 public int ID{get;set;} 

 public string Name{get;set;}

}

Person a=new Person(){ID=1001,Name='CodeL'};

Console.WriteLine(a.Name);

那麼我們使用元組可以怎麼做呢?如下所示

Tuple<int,string> a=new Tuple<int,string>(1001,'CodeL');    //直接使用元組物件,不需要建立自定義的物件

Console.WriteLine(a.Item2);//Item1 代表第一個,Item2代表第二個,每一個元組物件都有一個預設的item屬性

由此可見,元組最大的用處就是,不用為了 一些簡單的結構或物件而去新建一個類了。
注意的是tuple最多支援8個成員,如果成員超過了8個我們可以將第8個成員當成一個元組,通過元祖的巢狀去完成,如

列如:Tuple<string, int, int, int, int, int, int, Tuple<int, int, int>>  紅色部分是第8個。這裡的第八個成員又是一個元組。

二、元組的使用

1、元組物件的建立和遍歷

建立元組物件有兩種方法,如下:

           //通過建構函式建立元組物件
            Tuple<string, int, double> tuple1 = new Tuple<string, int, double>("數學", 100, 100.1);


            //通過靜態函式建立元組物件
            Tuple<string, int, double> tuple2 = Tuple.Create<string, int, double>("英語", 200, 200.2);


            //元組物件的遍歷,元組物件有一個預設的item屬性
            Console.WriteLine($"{tuple1.Item1}  {tuple1.Item2}  {tuple1.Item3}");
            Console.WriteLine($"{tuple2.Item1}  {tuple2.Item2}  {tuple2.Item3}");

2、元組與資料集合的結合

按照之前建立自定義的資料型別的使用方法,我們一般是使用  List<Person> listPerson=new List<Person>(); 但是通過元組我們如下所示:

 List<Tuple<string, string, int, int, int>> listPerson = new List<Tuple<string, string, int, int, int>>()
            {
                new Tuple<string, string, int, int, int>("菲菲","女",23,161,50),
                new Tuple<string, string, int, int, int>("張三","男",25,171,66),
                Tuple.Create<string,string,int,int,int>("李四","男",25,178,78)
            };
            foreach (var item in listPerson)
            {
                Console.WriteLine($"{item.Item1}  {item.Item2}  {item.Item3}  {item.Item4}  {item.Item5}");
            }

3、拓展

在最新的C#7.0語法中,對元組有了新的處理方法,我會在後面的文章中去比較