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

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Samantha Crain

    Samantha Cra

    30 EKİM 2008
  • ShoSho

    ShoSho

    20 Ocak 2010