我有一個List<string>
其中一些值正在重複。我想獲得特定的string
,它是發生次數。我嘗試過幾種情況,在某種情況下它不起作用,並且想知道爲什麼?從C#中的列表<string>獲取發生的編號和字符串
代碼:
var list = new List<string>() { "Yahoo" , "MSN", "Yahoo", "MSN", "Yahoo", "MSN", "MSN" };
//Works:
var lineWithNumberOfOccurance = linesFromTextFile.GroupBy(word => word).Select(g => new {Count = g.Count(), g.Key});
//Doesn't work:
var lineWithNumberOfOccurance = linesFromTextFile.GroupBy(x => x).ToDictionary(x => x.Count(), x => x.Key);
錯誤:
An item with the same key has already been added.
然而,隨着工作正常。
var list = new List<int>() {1, 2, 2, 3, 3, 3};
var test = list.GroupBy(x => x).ToDictionary(x => x.Count(), x => x.Key);
我不知道我在這裏錯過了什麼。
有意義。謝謝。 – CSharper