2016-09-15 17 views
0

同じ値を見つける最も簡単な方法は何ですか?私は初心者ですので、私は任意のベクトルとなどせずに、最も簡単な方法を探しています..例えば 、私は通りをソートする必要があります。同じ値を見つけるC#

  • 1street

  • 2street

  • 1street

  • 3street

と答える必要があります。答えは「1street」が最も一般的な名前です。

List<string> myList = PopulateList(...); // fill the list with names 

あなただけのリストをソートしたい場合は、List.Sortを使用することができます:

myList.Sort(); 

あなたは、その後にリストを行くことができる、あなたのアイテムが含まれているList<string>を持っていると仮定すると

+0

この見て持っている:あなたは、カウント順{name, count}のリストを、望んでいた場合

それとも、あなたのタイトルでhttp://stackoverflow.com/a/9909544/6729295 –

+0

を、あなたは、同じ値を見つけることを求めると、あなたはあなたが並べ替えを求めているか疑問に思っています –

答えて

0

重複をカウントアップし、最も頻繁に出現するものを判断するループ。

または、アイテムをグループ化し、グループ化をカウント、降順でソートして最初のアイテムを取り出すことができます。

var mostCommon = 
    myList.GroupBy(x => x) 
      .OrderByDescending(g => g.Count()) 
      .First(); 

そしてmostCommon.Keyあなたの最も一般的な項目を教えてくれる、とmostCommon.Count()がありますどのように多くのアイテムを教えてくれます。

var groupedAndSorted = 
    myList.GroupBy(x => x) 
      .Select(x => new {Key=x.Key, Count=x.Count()}) 
      .OrderByDescending(x => x.Count) 
      .ToList(); 
関連する問題