SORU
14 EKİM 2009, ÇARŞAMBA


SERİ: "içerir" ve Lambda sorgu

Ben bir liste içerir çeteleler, standart bir Numaralama ama vardır bir nitelik bağlıdır ve bir uzantısı yöntemi döndürür bir CHAR numaralama (aşağıya bakınız - GetCharValue), uzatma harika çalışıyor.

Ben şimdi etmeniz için bir uzantısı yöntemi)

public static IQueryable<Building> WithStatus(this IQueryable<Building> qry, 
         IList<BuildingStatuses> buildingStatus)
{
    return from v in qry
           where buildingStatus.Where(item => item.GetCharValue() == 
           v.Status)
           select v;
}

Ben temelde şunu "" sorguda her şeyi ama v. Durum buildingStatus... ama buildingStatus unutma sadece çeteleler ben . yani bir ILİST. İade etmek lazım ^em>GEREKİRçağrı GetCharValue.

Daha önce doğru sözdizimi bence vardı yardım aldım biraz

buildingStatus.Contains (v.Status)   

ama sorun buildingStatus GetCharValue aramalıyım yani Çeteleler bir Ilist burada() demeden önce Ilist her bir Madde İçerir..

Bir şey lambda gibi İçerir kullanarak bunu yapmanın özel bir yolu olduğunu düşünüyordum - tabii ki işe yaramıyor

where buildingStatus.Contains(item => item.GetCharValue() == v.Status)

Herkes yardımcı olabilir?

CEVAP
14 EKİM 2009, ÇARŞAMBA


İçerir yerine 9* *kullanın:

buildingStatus.Any(item => item.GetCharValue() == v.Status)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • kindlechatmail

    kindlechatma

    25 AĞUSTOS 2010
  • Ty Moss

    Ty Moss

    20 Kasım 2007