SO。 我有一個2k +名稱記錄的列表。我想在我的列表中找到前三名頻繁重複的名字。到目前爲止,我想通了,如何讓First()
一個具有以下內容:如何遍歷2000條記錄列表並挑選三條最常見的重複記錄?
var mostPopular = likes.GroupBy(i => i.name).OrderByDescending(grp => grp.Count()).Select(grp => grp.Key).First();
我怎樣才能得到另外兩個?請幫助。
SO。 我有一個2k +名稱記錄的列表。我想在我的列表中找到前三名頻繁重複的名字。到目前爲止,我想通了,如何讓First()
一個具有以下內容:如何遍歷2000條記錄列表並挑選三條最常見的重複記錄?
var mostPopular = likes.GroupBy(i => i.name).OrderByDescending(grp => grp.Count()).Select(grp => grp.Key).First();
我怎樣才能得到另外兩個?請幫助。
您可以使用Take
函數。
var mostPopular = likes.GroupBy(i => i.name)
.OrderByDescending(grp => grp.Count())
.Select(grp => grp.Key)
.Take(3);
那我該如何使用這個變量呢?是否像'string name1 = mostpopular.First()' –
你可以這樣做,或者使用循環或使用.Skip函數來獲得第二和第三。 mostPopular.Skip(1)。首先(); //獲得第二個並使用.Skip(2).First()獲取第三個項目。 – NoSaidTheCompiler
使用'Take(3)'而不是'First'。它將返回'IEnumerable>',使用'SelectMany'將其平鋪爲一個集合。 –
MarcinJuraszek