我们如何编写此代码的LINQ等效代码:
foreach (Function objFunc in _objCFLFile.CFLFunctionsList)
{
if (objFunc.Name == txtFunctionName.Text)
{
ShowMessage(Constants.M10036);
return false;
}
}
谢谢你们,我把你的答案标记为+1
如果我想再添加一个这样的条件
foreach (Function objFunc in _objCFLFile.CFLFunctionsList)
{
if (objFunc.Name == txtFunctionName.Text && objFunc.Signature == OtherFunction.Signature)
{
ShowMessage(Constants.M10046);//function already exists
return false;
}
}
在这种情况下,还有各种LINQ语法但是哪一个是完美的,有效的一个?
答案 0 :(得分:5)
if (_objCFLFile.CFLFunctionsList.Any(f => f.Name == txtFunctionName.Text))
{
ShowMessage(Constants.M10036);
return false;
}
满足您的额外要求:
if (_objCFLFile.CFLFunctionsList.Any(f => f.Name == txtFunctionName.Text &&
f.Signature == OtherFunction.Signature))
{
ShowMessage(Constants.M10036);
return false;
}
如果您还有更多条件要添加,则可能值得创建一种方法来进行比较。
答案 1 :(得分:1)
使用Any():
if (_objCFLFile.CFLFunctionsList.Any(objFunc =>
objFunc.Name == txtFunctionName.Text))
{
ShowMessage(Constants.M10036);
return false;
}