【发布时间】:2016-07-13 13:20:30
【问题描述】:
我想知道是否可以使用此代码进行一些重构:
string code_region = "";
code_region = listeRegions.Single(x => x.nom == nvc[index + 1]).code_region;
dt.code_region=code_region;
在此代码中,nvc[index+1] 值可以为 null 或为空,因此我不希望我的 Linq 查询引发异常...
我想知道是否有办法进行内联 LINQ 查询?我应该改用 FirstOfDefault 吗?
提前感谢您的帮助:)
【问题讨论】:
-
这属于代码审查,你会在那里得到更好的回应,除非 Jon Skeet 直接在我的评论下方。
-
那么,如果没有匹配项,您希望发生什么?为什么你在第一行给
code_region赋值,只是为了重新赋值? (我强烈建议您修改您的名称以遵循 .NET 命名约定,顺便说一句。) -
@JonSkeet :是的,变量名称是对的,但这只是一个示例,如果没有匹配项,我想返回空值...
-
为什么不放一个if条件?
-
空或空? minimal reproducible example 会让它更清晰...我建议您即使在示例代码中也遵循约定...毕竟,您想让读者尽可能简单和熟悉,对吧?
标签: c# linq refactoring