C#从零单排上王者系列---元组
从零单排系列说明
博主最初的想法是想写个蜕茧成蝶的系列文章,后来觉得博客的表现形式很难做到连贯和系统。所以从本篇博客开始博主会选择书中比较重要和不好理解的知识点并结合自己的实际工作经验来讲解,不再是照本宣科,希望博主能够尽可能的帮助大家解惑。
本篇博客会从如下几个方面来讲解知识
- 元组是什么?
- 为什么要使用元组?
- 如何使用元组?
元组是什么?
元组(tuple)是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。 在二维表里,元组也称为行
- 目前主要分为Tuple和ValueTuple
- Tuple是C#4.0的语法
- ValueTuple是C#7.0的语法
为什么要使用元组?
搞明白了什么元组,那我们什么时候使用它呢?有以下几点:
- 平时我们对于生活中事物的抽象一般是用类来描述,有时间对于一些简单的事物抽象会用数组来模拟,但数组表达的含义是不太友好的,我们只能通过索引来访问就会造成代码变成“契约式”,我们会约定俗成Array[0]代表什么意思,Array[1]代表什么意思,时间久了,如果没有注释再看代码就会口吐芬芳,,,而元组是这样定义的
(sting name,int age,double height)=("李羽飞",27,1.80);
- 在C#中一个方法只能有一个返回值,但实际业务开发中经常是需要方法返回多个返回值的,我们之前一般会使用out关键字或者返回一个类。现在我们可以直接返回一个元组,既不需要out关键字需要新定义变量也不需要重新写一个类,非常的方便。
如何使用元组?
看下面2种Tuple的代码示例
var studentInfoByTuple = Tuple.Create<string, int, int>("李羽飞", 27, 175);
var studentInfoByValueTuple = (Name: "李羽飞", Age: 27, Height: 180);
Console.WriteLine($"studentInfoByTuple: Name [{studentInfoByTuple.Item1}], Age [{studentInfoByTuple.Item2}], Height [{studentInfoByTuple.Item3}]");
Console.WriteLine($"studentInfoByValueTuple: Name [{studentInfoByValueTuple.Name}], Age [{studentInfoByValueTuple.Age}], Height [{studentInfoByValueTuple.Height}]");