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] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...
随机推荐
- MongoDB基础笔记
MongoDB show dbs 查看当前的数据库 use test 选库 show tables/collections 查看当前库下的文档 db.help() 查看帮助 db.createColl ...
- nginx中获取真实的客户端访问IP
date : 2019-06-28 16:54:50 author: headsen chen notice: 个人原创 1,必需要先搞清楚的基本概念 1.1 什么是remote_addr ...
- 利用redis实现分布式事务锁,解决高并发环境下库存扣减
利用redis实现分布式事务锁,解决高并发环境下库存扣减 问题描述: 某电商平台,首发一款新品手机,每人限购2台,预计会有10W的并发,在该情况下,如果扣减库存,保证不会超卖 解决方案一 利用数据 ...
- Springboot整合Elasticsearch报错availableProcessors is already set to [4], rejecting [4]
Springboot整合Elasticsearch报错 今天使用SpringBoot整合Elasticsearch时候,相关的配置完成后,启动项目就报错了. nested exception is j ...
- Qt编写自定义控件56-波浪曲线
一.前言 波浪曲线控件,其实是之前一个水波进度条控件的一个核心,其实就是利用正弦曲线来生成对应的坐标进行绘制,把这个功能单独提取出来,是为了更详细的研究各种正弦余弦等拓展效果,当时写这个效果的时候,参 ...
- 修改root密码
Linux 密码的修改,使用passwd 命令修改 命令如下图:sudo passwd root 即可修改成功
- ContextCleaner ——Spark 应用程序的垃圾回收器
ContextCleaner是一个Spark服务,负责在应用程序范围内清除 shuffles, RDDs, broadcasts, accumulators和checkpointed RDDs,目的是 ...
- pycharm 对mysql的可视化操作
参照: https://blog.csdn.net/qq_24189933/article/details/75666243
- VS2010插件之NuGet
Visual Studio(简写VS)是.net程序员开发必不可少的开发工具,随着VS的版本不断的升级和使用用户的扩大,现在针对VS开发了许多的开源免费的插件,大大的方便了程序员的开发,提高了开发效率 ...
- conda换源
装完Anaconda后,建议更新所有的包,因为以后使用很可能会报错. 而更新的时候conda的官方源在美国,不换源就非常蓝瘦,有生之年够呛了. 换源: conda config --add chann ...