八元素 Tuple 的最后一个元素必须为 Tuple。

标题是来自C#中的一个程序报错提示,让我困惑的是定义元组Tuple时,超过8个,就算不为第8个成员创建新的Tuple,编译阶段并不报错,但执行时报错。

趟过了这个坑,再来回顾一下元组:元组就是一些对象的集合,在我们编程时,比如一个人的信息,我们常常创建一个Person类去描述一个人,传统的做法如下:

public class Person{
public int ID{get;set;}
public string Name{get;set;}
}

Person p=new Person(){Id=1,Name=’Troy’};
Console.WriteLine(p.Name);

那么我们使用元组可以怎么做呢?如下所示

//直接使用元组对象,不需要创建自定义的对象
Tuple<int,string> p=new Tuple<int,string>(1,’Troy’);

//Item1 代表第一个,Item2代表第二个,每一个元组对象都有一个默认的item属性Console.WriteLine(p.Item2);

由此可见,元组一个很方便的用途就是不用为了一些简单的结构或对象而去新建一个类了。
需要特别注意的是Tuple最多支持8个成员,如果成员超过了8个我们必须将第8个成员当成一个元组,通过元祖的嵌套去完成。

举例:Tuple<string, int, int, int, int, int, int, Tuple<string, int, int>>

红色部分是第8个,这里的第8个成员又是一个元组。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据