首页 > 编程语言 >[转载]使用C#中的解构

[转载]使用C#中的解构

时间:2023-10-25 18:46:53浏览次数:33  
标签:firstName C# lastName age 解构 var 转载 元组

一、解构的目的:

将一个对象分割成若干部分并将其存储到新的变量中。
在C#中,解构可以方便地一次性将一个对象的多个成员的值存储到多个变量中。

二、解构元组

元组为方法返回多个值提供了便捷,无需创建额外的类型来承载返回的值。例如,下面这个方法使用元组返回两个值:

public static (string,string,int) GetPerson()
{
    var firstName = "Liam";
    var lastName = "Wang";
    var age = 18;
    return(firstName,lastName,age);

}

对于检索这个方法返回元组的各成员,如果不使用解构,我们可能需要这样写:

var person = GetPerson();

var firstName = person.Item1;
var lastName = person.Item2;
var age = person.Item3;

使用解构,则可以一次性将元组的各成员分别赋值给不同的变量,可以这样写:

(string firstName,string lastName,int age) = GetPerson();

//firstName = "Liam"
//lastName = "Wang"
//age = 18

也可以使用var自动推断各个变量的类型:

var(firstName,lastName,age) = GetPerson();

//firstName = "Liam"
//lastName = "Wang"
//age = 18

转载源自于https://zhuanlan.zhihu.com/p/402907599

标签:firstName,C#,lastName,age,解构,var,转载,元组
From: https://www.cnblogs.com/workbox/p/17787880.html

相关文章

  • [论文阅读] Disentangling Writer and Character Styles for Handwriting Generation
    Pretitle:DisentanglingWriterandCharacterStylesforHandwritingGenerationaccepted:CVPR2023paper:https://arxiv.org/abs/2303.14736code:https://github.com/dailenson/sdtref:https://mp.weixin.qq.com/s/aqHfC0hfimK0QhEUzQRZgw关键词:handwriting,styl......
  • Total Commander使用技巧
    <1>常用的快捷键1.选中文件文件夹后拖放就是复制2.拖放的同时按住shift是移动3.shift+ctrl+拖放是建立快捷方式4.F4编辑文本文件5.shift+F4新建文本文件6.F7新建文件夹7.alt+↓历史文件列表,ctrl+D常用文件列表8.alt+Enter:查看文件属性9.支持多标签浏览ctrl+T新建标签......
  • select...for update到底是加了行锁,还是表锁?
    前言前几天,知识星球中的一个小伙伴,问了我一个问题:在MySQL中,事务A中使用select...forupdatewhereid=1锁住了,某一条数据,事务还没提交,此时,事务B中去用select...whereid=1查询那条数据,会阻塞等待吗?select...forupdate在MySQL中,是一种悲观锁的用法,一般情况下,会锁住一行数据,但......
  • CF1220E Tourism
    拿到题就有一个很自然的想法,当存在一个大小\(\ge3\)的环时,我们可以把上面所有点都走一遍然后回到出发点然后想到更一般的,直接先来个边双缩点,这样任意两点间都有两条及以上的路径了,因此同一个边双内的点都可以任选由于经典结论一个连通图边双缩点后会得到一棵树,然后我们很容易想......
  • vue el-select 下拉菜单 数据回显不在清除数据可编辑状态
    思路:当点击options的时候,让select失去焦点(跳到其他的地方),添加el-input就是为了把光标跳转到其上面,然后将其隐藏掉,则为看不到光标点,但是在点击第一次之后获取焦点focus之后,隐藏掉下拉菜单的时候@blur是无效的,此时只能通过监听下拉框是否是隐藏和显示状态来让其失去焦点事件,所以......
  • 实战系列(一)Dubbo和Spring Cloud的区别,包含代码详解
    Dubbo和SpringCloud都是微服务架构中的重要框架,但它们的定位和关注点不同。Dubbo是阿里巴巴开源的一个高性能、轻量级的RPC框架,主要用于构建微服务之间的服务治理。而SpringCloud是基于SpringBoot的一个微服务架构开发工具,它提供了一系列的开发工具和服务,帮助开发者快......
  • 无涯教程-Clojure - first函数
    此函数返回列表中的第一项。first-语法以下是语法。(firstlst)参数   - "lst"是项目列表。返回值 - 列表中的第一个值。first-示例以下是Clojure中first的示例。(nsclojure.examples.example(:gen-class))(defnexample[](println(first(......
  • Linux/UNIX系统编程手册 Michael Kerrisk/孙剑 pdf电子版
    Linux/UNIX系统编程手册MichaelKerrisk/孙剑pdf电子版下载作者: MichaelKerrisk / 孙剑原作名: TheLinuxProgrammingInterface:ALinuxandUNIXSystemProgrammingHandbook出版年: 2014-1ISBN: 9787115328670连接提取码:hfkr内容确实组织得比APUE更适合系统学习......
  • c语言条件操作符的使用
    条件操作符--exp1?exp2:exp3exp1为真,执行exp2exp1为假,执行exp3取最大值intmain(){ inta=10; intb=20; intmax=0; max=(a>b?a:b); //if(a>b) // max=a; //else // max=b; printf("max=%d\n",max); return0;}......
  • 使用 content scripts 和 Vue Router 等技术在当前页面中注入和显示 Vue 单文件组件
    要在当前页面中注入和显示Vue单文件组件,您需要按照以下步骤操作:创建一个Vue项目:首先,确保您有一个Vue项目,包括您的Vue单文件组件以及相应的构建配置。将构建后的文件添加到插件目录:将Vue项目构建后生成的HTML、CSS和JavaScript文件添加到您的Chrome插件的目录中。编......