C#新特性-元组的定义和使用

元组这个新特性就是能够一次性返回多个值

1.使方法 可以返回多个返回值 而不需要借助 out ref 关键字。

2.使方法 可以返回多个返回值 而不需要借助 out ref 关键字,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}");
            }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值