2012-04-17 25 views
7

のオペランドに適用することができない私には、以下のようなものがあります。LINQ演算子「==は」タイプ「メソッドグループ」と 'int型

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

    if (lst.Count == 0) 
    { 

    } 

を私はlst.Count == 0の下swigly嘘を取得それは言う:

演算子「==」はタイプ「メソッドグループ」と 'int型のオペランドに適用することはできません

答えて

44

Enumerable.Count拡張メソッド、プロパティではないです。つまり、usp_GetLstは、おそらくIList<T>またはICollection<T>の派生コードではなく、IEnumerable<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()) 
{ 

} 
+0

+1は 'Any()'推奨です。 – devgeezer

関連する問題