在 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
}
有人知道如何在 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
}