我有一份零件清单partList.我希望Name通过过滤来获得一部分Number.就像是
var foundPart = partList.Where(part => part.Number == 1).SingleOrDefault();
if(foundPart != null)
name = foundPart.Name;
Run Code Online (Sandbox Code Playgroud)
我可以取消null检查并将所有内容放入LINQ命令中吗?
string name = partList.Where(part => part.Number == 1)
.Select(part => part.Name) // project result here
.SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
如果您想在找不到匹配项时避免更改名称:
name = partList.Where(part => part.Number == 1)
.Select(part => part.Name)
.DefaultIfEmpty(name)
.Single();
Run Code Online (Sandbox Code Playgroud)
注:我喜欢LINQ,但在这种情况下,我将简化您的查询一点点,并保持如果条件.非常清楚易懂:
var part = parts.SingleOrDefault(p => p.Number == 1);
if(part != null)
name = part.Name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |