2010-03-03 12 views

cevap

10

Bu 5 veya daha fazla ise eşit Madde ve teste en fazla sayıda bulmak için Linq kullanabilirsiniz:

int maxCount = s.GroupBy(x => x).Select(x => x.Count()).Max(); 
+0

__ ** slick! ** __ –

+0

Linq'i sevmiyor musun? – HaxElit

+0

Teşekkürler. cazibe gibi çalıştı. : D Çok kullanışlı! – hafhadg3

1

yapabilirsiniz grup benzer öğeler ve ona herhangi bir grubu bulmak beş ya da daha fazla

var
from word in new [] { "a", "a", "a", "b", "a", "a", "b" } 
group word by word into wordGroup 
where wordGroup.Count() >= 5 
select wordGroup.Key 
3

böyle yapabilirsiniz:

List<string> values = new List<string> {"a", "a", "d","a", "a", "c", "a"}; 

    int count = values.FindAll(id => id == "a").Count(); 
+0

Bu sadece "a" değerlerinin sayısını bulur. Eşleşen 5 değer aradığını unutmayın; ancak değerler herhangi bir şey olabilir. –

+0

Ahh evet, şimdi anlıyorum. Onun sorusunu yeniden okumak zorundaydım. Teşekkürler – CodeLikeBeaker

1

Sıralama dizisi, bundan sonra varsa eminiz beş veya aynı değerin daha fazlası, orta değer bunlardan biridir. Sayı:

Array.Sort(words); 
int cnt = 0; 
Array.ForEach(words, s => { if (s == words[3]) cnt++; }); 
İlgili konular