簡體   English   中英

C#如何訂購字典 <string, list<string> &gt;通過list.count?

[英]C# How to order dictionary<string, list<string>> by list.count?

我有一dictionary ,其中的值是一個字符串list 我想按每個list的字符串數對字典進行list 因此,我打印的第一個kvplist中元素數量最多的kvp

我在stackoverflow中的另一個問題下看到了這個答案,但是我想我缺少了一些東西。

foreach (var kvp in teams.OrderBy(x => x.Value.Count))

您非常接近,但聽起來像您想下降:

using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        var teams = new Dictionary<string, List<string>>();
        teams.Add("Short List",  new List<string> {"One","Two"});
        teams.Add("Medium List", new List<string> {"One","Two", "Three"});
        teams.Add("Long List",   new List<string> {"One","Two", "Three", "Four"});

        foreach (var kvp in teams.OrderByDescending(x => x.Value.Count))
        {
            Console.WriteLine("Team {0} has {1} items.", kvp.Key, kvp.Value.Count);
        }
    }
}

輸出:

Team Long List has 4 items.
Team Medium List has 3 items.
Team Short List has 2 items.

.NET Fiddle上檢查一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM