c# – Linq的FirstOrDefault
发布时间:2020-12-15 19:45:41 所属栏目:百科 来源:网络整理
导读:我试图将这个foreach循环移动到 linq: compData = componentData[0];foreach (var componentTraceData in componentData){ if (!string.IsNullOrEmpty(componentTraceData.CompName)) { compData = componentTraceData; break; }} 这就是我试过的: var tt
我试图将这个foreach循环移动到
linq:
compData = componentData[0]; foreach (var componentTraceData in componentData) { if (!string.IsNullOrEmpty(componentTraceData.CompName)) { compData = componentTraceData; break; } } 这就是我试过的: var tt = (from n in componentData where !string.IsNullOrEmpty(n.CompName) select n).FirstOrDefault(); 如果linq没有找到任何结果,我怎么能让它采取componentData [0]? 解决方法
您可以使用
Enumerable.DefaultIfEmpty 并指定自定义默认值:
var result = componentData.Where(n => !string.IsNullOrEmpty(n.CompName)) .DefaultIfEmpty(componentData.ElementAtOrDefault(0)) .First(); 请注意,您现在可以安全地使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |