简介
元组使用泛型来简化类的定义,多用于方法的返回值。在函数需要返回多个类型的时候,就不必使用out , ref等关键字了,直接定义一个Tuple类型,使用起来非常方便
例子
在我们编程时,比如一个人的信息,我们常常创建一个UserInformation类去描述一个人,传统的做法如下:
public class UserInformation{ public string FirstName { get; set; }public string LastName { get; set; }}static UserInformation GetUserInformation(){return new UserInformation { FirstName = "张三", LastName = "李四" };}
那么我们使用元组可以怎么做呢?如下所示
static Tuple<string, string> GetUserInformation3(){return new Tuple<string,string> ( "张三", "李四" );}var tuple = GetUserInformation1();string firstName= tuple.Item1;string lastName = tuple.Item2;
Item1代表第一个属性值,Item2代表第二个属性值,当然如果使用Item1和item2可读性比较差,不看方法根本不知道Item1代表什么意思,这时候我们就可以使用匿名类型了,如下所示:
var ( first, last) = GetUserInformation1();
first是我们的第一个属性值,last是我们的第二个属性值。在C#7.0中它提供了更简洁的语法,用于将多个数据元素分组成一个轻型数据结构
static (string, string) GetUserInformation1(){return ("张三", "李四");}
当然也是支持匿名类型获取属性值的
var(first,last)= GetUserInformation1();
学习更多元组类型请前往:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/value-tuples
最后大家如果喜欢我的文章,还麻烦给个关注并点个赞, 希望net生态圈越来越好!