前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019-2-24-元组的相等性比较

2019-2-24-元组的相等性比较

作者头像
黄腾霄
发布2020-06-10 11:55:35
6700
发布2020-06-10 11:55:35
举报

元组作为轻量级的数据结构,在c#中具有广泛的引用。但是元组的比较一直以来都是对于成员的依次比较。好在C#7.3开始,引入了元素的相等性比较,让元组的易用性有了大幅提升。


绑定

微软对此的介绍是“从 C# 7.3 开始,元组类型支持 ==!= 运算符。 这些运算符按顺序将左边参数的每个成员与右边参数的每个成员进行比较,且比较是短路计算”

所以我们可以写出这样的代码,对元组进行比较

var left = (, );
var right = (, );
Console.WriteLine(left == right); 

此外,元组的比较也支持可空类型的提升转换,以及类型的隐式转换,例如下面代码中可空类型与非空类型的比较,(int,int)和(long,long)之间的比较

var left = (, );
var right = (, );

(int a, int b)? nullableTuple = right;
Console.WriteLine(left == nullableTuple.Value);
Console.WriteLine(left == nullableTuple);

(long a, long b) longTuple = (, );
Console.WriteLine(left == longTuple);

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%85%83%E7%BB%84%E7%9A%84%E7%9B%B8%E7%AD%89%E6%80%A7%E6%AF%94%E8%BE%83.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绑定
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档