我有那些检查我是否拥有网格中所有答案的语句。每行由ContextYID标识。我可以在OneLiner中转换这两个LINQ语句吗(C#)
我想知道如果我可以结合这些LinQ查询并将其直接转换为True/False语句。
int nbRow = Answers.Where(a => a.FieldId == result.Id && a.FieldYId == fieldYAxi.Id)
.Select(a => a.ContextYId)
.Distinct()
.Count();
int nbAnswer = Answers.Count(a =>
a.FieldId == result.Id &&
a.FieldXId == fieldXAxi.Id &&
a.FieldYId == fieldYAxi.Id);
if (nbAnswer != nbRow)
return false;
else
return true;
如果'nbAnswer == nbRow'会发生什么?你'返回true',还是做了其他事情?你在寻找一个只是'return [something]'或'if(something)return false'的答案吗? –
@TimS。是的,事实上,如果行数匹配答案的数量,则返回true – JudgeProphet
如果*每行由ContextYID *标识,我想这意味着每行有一个唯一的'ContextYId',什么意思?.Select(a => a.ContextYId).Distinct()。Count()'而不是简单的'Answers.Count(a => a.FieldId == result.Id ...)'? – sloth