24

我有以下内容:

    var lst = db.usp_GetLst(ID,Name, Type);

    if (lst.Count == 0)
    {

    }

我在 lst.Count == 0 下得到了一个大谎言,它说:

运算符“==”不能应用于“方法组”和“int”类型的操作数

4

2 回答 2

81

Enumerable.Count是扩展方法,而不是属性。这意味着usp_GetLst可能返回(或某些等价物),而不是您期望的或IEnumerable<T>的衍生物。IList<T>ICollection<T>

// Notice we use lst.Count() instead of lst.Count
if (lst.Count() == 0)
{

}

// However lst.Count() may walk the entire enumeration, depending on its
// implementation. Instead favor Any() when testing for the presence
// or absence of members in some enumeration.
if (!lst.Any())
{

}
于 2012-04-17T21:49:58.523 回答
0

有时在视图顶部添加模型会丢失,那时你会得到同样的错误,例如。- @model 列表<Test.Admin.Models>

于 2021-10-07T05:15:24.323 回答