foreach语句中的比较模型

本文关键字:比较 模型 语句 foreach | 更新日期: 2023-09-27 18:27:10

有人知道如何在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循环中模型中的项目与字符串进行比较

foreach语句中的比较模型

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

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

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

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

如果您想要模型中包含的所有对象,其Name属性等于example的值,则需要以下内容:

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

如果我正确理解你的问题,你可以把等式比较放在where谓词中,如下所示:

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