2011-04-20 19 views
5

Aşağıdaki döngü IQueryable, IEnumerable veya lambda ifadeleri ile linqC# foreach loop lambda dönüştürmek için yardıma ihtiyacım var

private bool functionName(int r, int c) 
{ 
    foreach (S s in sList) 
    { 
     if (s.L.R == r && s.L.C == c) 
     { 
      return true; 
     } 
    } 

    return false; 
} 

kullanılarak uygulanabilir mi?

+5

Soru anlamlı değil ve çok açık uçlu. Lütfen http://tinyurl.com/so-hints sayfasını okuyun ve sorunuzu gözden geçirin. – Richard

+2

Röportaj soru? –

+10

Eğlenceli bölüm, bu eksik ödev soruları ile bile, küçük bir üne kavuşmak istiyoruz :) Sistem çok iyi çalışıyor! – Philippe

cevap

6

Dene:

private bool functionName(int r, int c) 
{ 
    return sList.Any(s => s.L.R == r && s.L.C == c); 
} 

Linq herhangi bir uzantı metodu (örneğin, bir listesi olabilir) IEnumerable dizisi için de geçerlidir ve gerçek geri verilen yüklemi için sekans karşılığında herhangi bir öğe doğruysa (bu durumda bir Lambda işlevi s => s.L.R == r && s.L.C == c). gibi

6

şey:

return sList.Any(s => s.L.R == r && s.L.C == c); 
-1

bir örneği

private bool functionName(int r,int c) 
{ 
    var ret = from s in sList where s.L.R==r&&s.L.C==c select s; 
    return ret.Count()>0; 
} 
0

Eğer sınıflar (SLR ??) hakkında daha fazla bilgi vermelidir kullanmak ve ben gerçekten olarak ne istediğini bilmiyorum çünkü

return sList.Any(s => s.L.R == r && s.L.C == c); 

/e: fonksiyonun sonucunun bu emin yüzde 100 değil biraz geç, s gibi görünüyor orry beyler. Seninkini kopyalamıyordum.

İlgili konular