gpt4 book ai didi

c# - 选择匿名类型可以为空吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:03:17 24 4
gpt4 key购买 nike

我正在进行代码审查,发现了一些可疑的东西。

在下面的代码片段中,result 可以为 NULL 吗?

        var result = (from number in _cmContext.SrvLocationWarmLine
where String.Compare(number.CurrentWarmLine, startingRange, StringComparison.Ordinal) >= 0
&& String.Compare(number.CurrentWarmLine, endingRange, StringComparison.Ordinal) <= 0
orderby number.CurrentWarmLine descending
select new { Number = number.CurrentWarmLine }).FirstOrDefault();

更一般地说:当对选择应用 FirstOrDefault 时,结果是否可以为空?

最佳答案

是的。 resultnull如果序列为空。
如果没有 number 就会发生这种情况在 _cmContext.SrvLocationWarmLine匹配 where 中的条件条款。


一般FirstOrDefault() (没有谓词参数)返回 null对于一个空序列(无论该序列是由 select 还是其他东西返回的)。

FirstOrDefault<T>(this IEnumerable<T>, Predicate<T>)返回 null如果序列中没有匹配谓词的元素。


请注意 select在查询语法中被翻译成 Select(...)方法调用。


编辑:当然,以上仅适用于最终序列的元素类型是引用类型的情况。对于值类型,结果将是 default(type) ,例如0对于 int .

关于c# - 选择匿名类型可以为空吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com