在 foreach 语句中比较模型

compare model in foreach statement

有人知道如何在 foreach 声明中将字符串与模型中的项目进行比较吗? 例子: 我有这个foreach循环

@foreach (var item in Model)
{
    //code here
}

但我只想显示等于另一个字符串的项目,例如:

String example ="Hello"
@foreach (var item in Model.where(c => c.Name).equals() example)  
{
    //code here
}

????这对我不起作用,我不知道该怎么做。

我想知道如何将 foreach 循环中模型中的项目与字符串进行比较

如果我对你的问题理解正确,你可以像这样将相等比较放在 where 谓词中:

String example ="Hello"
@foreach (var item in Model.where(c => c.Name=="example") example)  
               {
                //code here
               }

您必须将正确的谓词传递给 Where 扩展方法:

string example ="Hello"
@foreach (var item in Model.Where(c => c.Name == example))
{

}

要使用 Where 扩展方法,您的模型需要实现 IEnumerable<T> 接口(如果您在 foreach 中使用它可能会实现)。

还要确保 System.Linq 命名空间已打开您的视图。否则您将无法访问那里定义的扩展方法。

前提是你想要模型中包含的所有对象,其Name属性等于[=12=的值],您需要以下内容:

@foreach (var item in Model.Where(c => c.Name==example))  
{
    //code here
}