我需要返回一个的第一个元素IEnumerable.如果IEnumerable为空,我会返回一个特殊值.
这个代码看起来像这样:
return myEnumerable.FirstOrDefault() ?? mySpecialValue;
Run Code Online (Sandbox Code Playgroud)
这很好,工作正常,直到myEnumerable包含可空的东西.
在这种情况下,我得到的最好的是:
return myEnumerable.Any() ? myEnumerable.First() : mySpecialValue;
Run Code Online (Sandbox Code Playgroud)
但在这里我有多个枚举myEnumerable!
我该怎么做 ?我宁愿避免必须抓住任何例外.
Tim*_*ter 17
您可以使用重载DefaultIfEmpty来指定回退值.然后你也不需要,FirstOrDefault但你First安全使用:
return myEnumerable.DefaultIfEmpty(mySpecialValue).First();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |