考虑以下代码:
for n, res in enumerate(result):
print(f'result[{n}] = {res}')
result[0] = Vendita Residenziale
result[1] = New York
result[2] = Appartamento
result[3] = Prezzo:
result[4] = € 100.000/200.000
result[5] = - Metri quadri:
result[6] = 130/170
我正在尝试加载结果集,但使用Where子句中的数组表示法时出现编译器错误。我应该怎么做?
所需的最终结果是可以在ASP.NET MVC分页中使用的var articleDisplay对象。
感谢任何/全部的帮助!
答案 0 :(得分:2)
删除数组符号
var articlesDisplay = from product in db.ProductSearchData
select product.articles;
articlesDisplay = articlesDisplay.Where(a => a.body.Contains(searchString));
答案 1 :(得分:1)
lambda表达式就像函数声明一样,但是它以method name(paramters){body }
的形式代替parameters => body
。所以这个:
a => a[].body.Contains(searchString)
与此相同:
bool Method(Article article)
{
return article[].body.Contains(searchString);
}
那显然是无效的,因为它不会编译。您需要一个Func<T,bool>
或一个接受单个元素并根据是否要包含它而返回true或false的函数。所以您可能想要这样:
bool Method(Article article)
{
return article.body.Contains(searchString);
}
翻译为:
a => a.body.Contains(searchString).