SORU
17 NİSAN 2010, CUMARTESİ


't ıenumerable yok Saymak bir yöntem var

Aşağıdaki yöntemi var:

public bool IsValid
{
  get { return (GetRuleViolations().Count() == 0); }
}

public IEnumerable<RuleViolation> GetRuleViolations(){
  //code here
}

Neden .Count() yukarıda yaptığım zaman altı çizili olduğunu kırmızı mı?

Aşağıdaki hatayı aldım:

Hata 1 'Sistemi.Koleksiyonları.Jenerik.Ienumerable' için bir tanım içermiyor 'Kont' ve hiç uzatma yöntemi 'Kont' kabul eden ilk bağımsız değişkeni yazın 'Sistem.Koleksiyonları.Jenerik.Ienumerable' bulunamadı (bir eksik olabilir mi yönergesini kullanarak veya bir derleme referans?) c:\users\a\documents\visual studio 2010\Projects\Yemek NerdDinner\NerdDinner\Modelleri\.cs 15 47 NerdDinner

CEVAP
17 NİSAN 2010, CUMARTESİ


Ekleyin:

using System.Linq;

kaynak ve Sistem için bir referans var emin olun.Çekirdek derleme.

Count() uzatma yöntemi Nesneleri bu SERİ, ve SQL ve işlem dışı diğer sağlayıcılar bu SERİ için System.Linq.Queryable System.Linq.Enumerable statik sınıfı tarafından sağlanır.

Aslında, burada Count() kullanarak nispeten verimsiz (en azından Nesneleri bu SERİ. EDİT: Öğrenmek istediğin şey olup olmadığıdırherhangi birelemanları ya da değil, değil mi? Bu durumda, Any() daha iyi bir uyum:

public bool IsValid
{
  get { return !GetRuleViolations().Any(); }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • picster

    picster

    20 NİSAN 2006