C#元组类型System.ValueTuple

元组功能在 C# 7.0 及更高版本中可用,它提供了简洁的语法,用于将多个数据元素分组成一个轻型数据结构。

元组功能需要 System.ValueTuple 类型和相关的泛型类型(例如 System.ValueTuple<T1,T2>),这些类型在 .NET Core 和 .NET Framework 4.7 及更高版本中可用。若要在面向 .NET Framework 4.6.2 或更早版本的项目中使用元组,请将 NuGet 包 System.ValueTuple 添加到项目。

(double, int) t1 = (4.5, 3);
Console.WriteLine($"Tuple with elements {t1.Item1} and {t1.Item2}.");
// Output:
// Tuple with elements 4.5 and 3.(double Sum, int Count) t2 = (4.5, 3);
Console.WriteLine($"Sum of {t2.Count} elements is {t2.Sum}.");
// Output:
// Sum of 3 elements is 4.5.

,若要定义元组类型,需要指定其所有数据成员的类型,或者,可以指定字段名称。虽然不能在元组类型中定义方法,但可以使用 .NET 提供的方法

(double, int) t = (4.5, 3);
Console.WriteLine(t.ToString());
Console.WriteLine($"Hash code of {t} is {t.GetHashCode()}.");
// Output:
// (4.5, 3)
// Hash code of (4.5, 3) is 718460086.

元组最常见的用例之一是作为方法返回类型。也就是说,你可以将方法结果分组为元组返回类型,而不是定义 out 方法参数,

var xs = new[] { 4, 7, 9 };
var limits = FindMinMax(xs);
Console.WriteLine($"Limits of [{string.Join(" ", xs)}] are {limits.min} and {limits.max}");
// Output:
// Limits of [4 7 9] are 4 and 9var ys = new[] { -9, 0, 67, 100 };
var (minimum, maximum) = FindMinMax(ys);
Console.WriteLine($"Limits of [{string.Join(" ", ys)}] are {minimum} and {maximum}");
// Output:
// Limits of [-9 0 67 100] are -9 and 100(int min, int max) FindMinMax(int[] input)
{if (input is null || input.Length == 0){throw new ArgumentException("Cannot find minimum and maximum of a null or empty array.");}var min = int.MaxValue;var max = int.MinValue;foreach (var i in input){if (i < min){min = i;}if (i > max){max = i;}}return (min, max);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cocoapods的安装和使用

一、Cocoapods的安装 第一步&#xff1a;打开终端 第二步&#xff1a;修改ruby镜像引用 gem source --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ 完成后用命令行查看ruby镜像是否是taobao,用命令行&#xff1a; gem sources -l 返回信息为&#xf…

JAVA软件图片浏览下载_java模拟浏览器下载图片

/** * 抓取网上的图片 * param imgSrc * param filePath */ public static void downloadImgByNet(String imgSrc,String filePath,String fileName){ try{ URL url new URL(imgSrc); URLConnection conn url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*…

微信企业号开发之如何建立连接

http://www.07net01.com/2014/09/167991.html 连接将使你的企业号更具价值&#xff0c;你可以使用以下三种方式&#xff0c;连接你的企业号及企业应用&#xff1a; 1、企业应用调用企业号提供的接口&#xff0c;管理或查询企业号后台所管理的资源、或给成员发送消息等&#xff…

完全颠覆你世界观的10个科学实验!从此脑洞大开

全世界只有3.14 % 的人关注了爆炸吧知识这两天超模君逛知乎时&#xff0c;发现有人提问&#xff1a;“如何让孩子学会主动”&#xff1f;孩子学会主动是很重要的&#xff0c;特别是在学习方面&#xff0c;懂得主动学习无论是在小时候还是未来都很有优势。可能很多家长都有类似的…

js模版引擎handlebars.js实用教程——with-终极this应用

返回目录 1 <!DOCTYPE html>2 <html>3 <head>4 <META http-equivContent-Type content"text/html; charsetutf-8">5 <title>with-终极this应用 - by 杨元</title>6 </head>7 <body>8 <h1>w…

大学

(一才女博客看来的&#xff0c;不错&#xff0c;意境很浓)大一&#xff0c;年少春衫薄。骑马倚斜桥&#xff0c;满楼红袖招。一朝看尽长安花。大二&#xff0c;春日游&#xff0c;杏花插满头。谁家年少足风流&#xff0c;妾身欲语还休。大三&#xff0c;男儿立志出乡关&#xf…

c# 弹性和瞬态故障处理库Polly

关于pollypolly文档中对自己介绍的原文是:Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry,Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.从…

MySQL账户安全设置

一般来说&#xff0c;安装完MySQL后&#xff0c;默认的用户是root,密码123456&#xff0c;外网不能访问。 有时候也希望在外网访问&#xff0c;则可以添加一个账户。建议不要用root。 如下表&#xff0c;存在安全问题&#xff1a; mysql> select host,user,password from us…

Android之Android Studio--Gradle多渠道打包

于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。 友盟多渠道打包 废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段: <…

char varchar java_在数据库中varchar与char的区别

char是固定长度类型varchar是可变的长度类型char和varchar类型相似&#xff0c;但是它们的存储和检索方式不同。在MySQL5.0.3&#xff0c;它们在最大长度和是否保留尾部空格也不相同。char和varchar定义了字符串的最大长度。例如&#xff0c;char(30)可以放30个字符。char列的长…

鄙人之斗,读IT之洋(1)

C#&#xff1a; 自己从最初的参加项目&#xff0c;只懂前台布局如何美观&#xff0c;怎样能将<border>边框整体去除&#xff0c;到如今能够在model,dal,web三层之间游走穿梭&#xff0c;谁又知道中间经历了多少&#xff0c;苦与酸&#xff0c;汗水&#xff0c;快乐&#…

震撼世界的基建狂魔,中国制造的超级工程到底有多牛?

全世界只有3.14 % 的人关注了数据与算法之美1949年的中华大地上一无所有&#xff0c;而现在一栋栋高楼伫立在这片土地上的时候不禁感叹&#xff0c;到底是什么支撑着让我们从一片荒漠变成如今高楼耸立&#xff1f;今天小编带来的这部纪录片《超级工程》&#xff0c;带你认识被称…

C# WPF图表控件之ChartControl用法指南①

“ 引言部分&#xff0c;总领全篇文章的中心内容。”WPF的DevExpress ChartControl是一种功能强大的可视化工具&#xff0c;可帮助您将数据显示为二维或伪三维条形图、区域、线和许多其他形式。01—将数据绑定到Chart SeriesStep 1. 创建新项目并添加图表创建一个新的WPF应用程…

Android之SwipeRefreshLayout

wipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support library的版本升级到19.1。 提到下拉刷新大家一定对ActionBarPullToRefresh比较熟悉,而如今google推出了更官方的下拉刷新组件,这无疑是对开发者来说比较好的消…

网络传输中的反码求和算法

在发送数据&#xff0c;计算数据包的校验和&#xff0c;按如下步骤&#xff1a; 1、把校验和字段置为0&#xff1b; 2、把需校验的数据看成以16位为单位的数字组成&#xff0c;依次进行二进制反码求和&#xff1b; 3、把得到的结果存入校验和字段中。 在接收数据时&#xff0c;…

IDEA中maven如何将jar包导入本地的maven库

第一步&#xff1a;将IKAnalyzer.jar包存放在一个文件夹中&#xff0c;比如mylib文件夹第二步&#xff1a;建立一个IKAnalyzer.jar包相关的pom.xml文件&#xff0c;需要在pom.xml文件中定义其maven坐标及其相应的依赖代码即可&#xff0c;同样将pom文件存放在上述jar文件同一文…

你以后会不会有小三?

1 千万别碰到小孩就去逗他&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 像极了早上刚睡醒炸毛的你▼3 乞丐和社畜的区别▼4 当你学校装了能上网的平板后&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼5 看图写字&#xff08;素材来源网络&#xff0…

MySQL--3--mysqldump备份策略

参考地址&#xff1a;http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/database-administration.html#backup-strategy-example 5.9 备份策略 在my.inf中启动二进制日志&#xff0c;用--log-bin[file_name]选项启动时&#xff0c;mysqld写入包含所有更新数据的SQL命令的…

java判断星座if语句_Java根据出生日期计算(判断)星座

下面我们来了解一下十二星座对应的日期划分范围。白羊&#xff1a;0321~0420 天秤&#xff1a;0924~1023 金牛&#xff1a;0421~0521 天蝎&#xff1a;1024~1122 双子&#xff1a;0522~0621 射手&#xff1a;1123~1221 巨蟹&#xff1a;0622~0722 摩羯&#xff1a;1222~0120 狮…

CSharp 如何OCR离线识别文本

WPF开发者QQ群&#xff1a; 340500857 | 微信群 -> 进入公众号主页 加入组织由于微信群人数太多入群请添加小编微信号&#xff08;yanjinhuawechat&#xff09;或&#xff08;W_Feng_aiQ&#xff09;邀请入群&#xff08;需备注WPF开发者&#xff09;本项目是基于开源项目P…