首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FirstOrDefault:非null的默认值

FirstOrDefault:非null的默认值
EN

Stack Overflow用户
提问于 2012-10-19 18:25:35
回答 11查看 157.5K关注 0票数 165

据我所知,在Linq中,方法FirstOrDefault()可以返回非Default的null值。我还没有弄清楚的是,当查询结果中没有项目时,这个(和类似的)方法可以返回除null之外的哪些东西。有没有什么特别的方法可以将其设置为,如果某个特定查询没有值,则返回某个预定义的值作为默认值?

EN

Stack Overflow用户

发布于 2021-11-19 12:31:55

.NET6 / c#10解决方案

.NET6 / c#10通过向*OrDefault LINQ方法添加新功能来解决此问题。新的重载允许您在序列为空时指定要使用的默认值。

代码语言:javascript
运行
复制
public static TSource FirstOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate, TSource defaultValue);

返回序列中满足条件的第一个元素,如果找不到这样的元素,则返回指定的默认值。

下面是一个例子;

代码语言:javascript
运行
复制
var nums = new List<int> { 1, 2, 3 };
var target = 4;

var value = nums.FirstOrDefault(x => x == target, -1); // value becomes -1.

来源:https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.firstordefault?view=net-6.0#System_Linq_Enumerable_FirstOrDefault__1_System_Collections_Generic_IEnumerable___0____0_

票数 1
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12972295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档