[英]C# How to order dictionary<string, list<string>> by list.count?
我有一dictionary
,其中的值是一個字符串list
。 我想按每個list
的字符串數對字典進行list
。 因此,我打印的第一個kvp
是list
中元素數量最多的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.