首页 新闻 赞助 找找看

这段代码不会报错的原因是什么呢

0
悬赏园豆:10 [已解决问题] 解决于 2023-04-23 15:22

ist<(long, int)> aa = new List<(long, int)>();
var a1 = aa.FirstOrDefault(x => x.Item1 == 1).Item2;

c#
码农成长日记的主页 码农成长日记 | 初学一级 | 园豆:186
提问于:2023-04-23 14:52
< >
分享
最佳答案
0

为什么要报错呢?
(long, int) == tuple<long,int>
tuple.item1 就是第一个long参数, tuple.item2是第二个int参数.

https://q.cnblogs.com/q/143037/ 看我的comment.

收获园豆:10
czd890 | 专家六级 |园豆:14292 | 2023-04-23 15:02

看了下源码,是这里查询不到集合数据的话会返回一个默认值。

码农成长日记 | 园豆:186 (初学一级) | 2023-04-23 15:16

@码农成长日记: 返回default, 也就是default(tuple<long,int>), 因为tuple 是一个值类型. 所以 default(tuple<long,int>).Item1 ==default(long)

czd890 | 园豆:14292 (专家六级) | 2023-04-23 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册