問題

私はリストを持っています:

 dave
maggie
john
stuart
john
john
dave
john
maggie
maggie
 

私の望む結果は次のようになります:

 john
john
john
john
maggie
maggie
maggie
dave
dave
stuart
 

  ベストアンサー

最初に私はそれらをグループ化します。次に、各グループからのカウントでそれらを注文します。最後に、SelectManyを使用して、グループ内の各個々の名前からフラットな構造を取得します。

 var myList = new List<string>()
{
    "dave",
    "maggie",
    "john",
    "stuart",
    "john",
    "dave",
    "john",
};

var result = myList
    .GroupBy(x => x)
    .OrderByDescending(x => x.Count())
    .SelectMany(x => x)
    .ToList();
 

  同じタグがついた質問を見る

c#arrayslistlinqsorting