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}]");
C#从零单排上王者系列---元组的更多相关文章
- C#从零单排上王者系列---数据类型
从零单排系列简介 突然发现自己的基础不是很牢固,就买了一个<C#7.0的本质论>.本系列博客就是以此书为本,记录自己的学习心得,如果你的基础也不牢固,不如跟上博主一起学习成长呀! 本篇博客 ...
- HDU4870_Rating_双号从零单排_高斯消元求期望
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...
- Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖
需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...
- Unity3D游戏开发从零单排(四) - 制作一个iOS游戏
提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- 从零单排Linux – 2 – 目录权限
从零单排Linux – 2 – 目录权限 1.sync 讲内存数据跟新到硬盘中 2.执行等级init a: run level 0:关机 b: run level 3:纯命令模式 c:run leve ...
- 从零单排Linux – 1 – 简单命令
从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...
- JAVA从零单排之前因
本人,男,21岁,普通院校本科,计算机专业.大学之前对计算机编程没有一点涉及.大学学计算机专业也是个偶然.因为当初高考的成绩不好,结果都是我父亲帮我报的学校和专业. 上了大学之后,大一都是在新奇中度过 ...
- [Python] 文科生零基础学编程系列三——数据运算符的基本类别
上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...
随机推荐
- sql server 使用SqlBulkCopy批量插入数据库
sql server sqlbulkcopy 批量数据插入数据库使用的是System.Data.SqlClient中的 SqlBulkCopy批量数据插入数据库 sql server 使用SqlBul ...
- Ubuntu下GDB调试器的使用
gdb调试器时一款GNU组织开发.发布的UNIX/Linux环境下的程序调试工具,没有图形界面,但功能强大. GDB使用流程: 先编写一个测试文件gdbTest.c 保存后用gcc对文件进行编译,需要 ...
- VUE判断可用对象是否为空
方法一: JSON.stringify(formmanage_listVue.updataObj)=='{}' var data = {}; var b = (JSON.stringify(data) ...
- Java面试之http知识点(必问)
Java面试之http知识点(必问) 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/q ...
- 【集成模型】Stacking
0 - 思路 Stacking是许多集成方法的综合.其主要思路如下图所示,通过训练数据训练多个base learners(the first-level learners),这些learners的输出 ...
- .net mvc网站集成adfs(ws-fed协议)
网站地址(本地开发测试):https://localhost:9000 第一步,adfs配置 配置要声明颁发策略(adfs要发送给网站的声明) 选择刚添加的依赖方信任,编辑颁发策略 配置完成 第二步, ...
- iOS-UIStoryboard和UIResponder
6.17 UIStoryboard //获取someboard中InitialViewController UIStoryboard *story = [UIStoryboard storyboard ...
- linux中安装docker
uname -r yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ ...
- EasyNetQ使用(八)【对延迟消息插件的支持,自动订阅者】
RabbitMQ延迟消息插件仍然在实验阶段.你使用这个功能要自担风险. RabbitMQ延迟消息插件为RabbitMQ增加了新的交换机类型,允许延时消息投递. EasyNetQ为交换机通过定义一种新的 ...
- requirejs r.js 打包报错paths fallback not supported in optimizer please provide a build config path override for jquery
错误原因: 改为: