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

  • Apple

    Apple

    22 HAZİRAN 2005
  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012