2016-09-15 88 views
0

我只是想知道什麼是最簡單的方法來找到相同的值?我只是初學者,所以我在尋找最簡單的方法,沒有任何載體和等。 例如,我需要梳理街道:找到相同的值C#

  • 1street

  • 2street

  • 1street

  • 3street

答案必須是「1street」是這裏最常用的名字。

+0

看看一個這樣的:http://stackoverflow.com/a/9909544/6729295 –

+0

在你的標題,你是要求尋找相同的價值,在你的問題你要求排序 –

回答

0

假設你有一個List<string>包含您的項目:

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

如果你只是想對列表進行排序,你可以使用List.Sort

myList.Sort(); 

然後,您可以去通過與名單一個循環來計算重複並確定哪一個最頻繁。

或者,您可以對這些項目進行分組,然後按count,降序對第一個項目進行分組。

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

然後mostCommon.Key會告訴你,最常見的項目,mostCommon.Count()會告訴你有多少項目有。

或者,如果你想要的{name, count}列表,通過計數下令:

var groupedAndSorted = 
    myList.GroupBy(x => x) 
      .Select(x => new {Key=x.Key, Count=x.Count()}) 
      .OrderByDescending(x => x.Count) 
      .ToList(); 
相關問題