gpt4 book ai didi

c# - 根据C#中字符串值的长度对字典进行排序

转载 作者:行者123 更新时间:2023-11-30 19:26:02 25 4
gpt4 key购买 nike

假设我有一个这样的字典

dict1 = {{[4,bcefgh]},{[5,abcefgh]},{[6,efgh]},{[7,bcefgh]},{[10,cefghi]}}

我想根据字符串值的长度对这个字典中的对进行排序,而不使用额外的循环。也就是说,结果应该是:

dict1 = {{[6,efgh]},{[4,bcefgh]},{[7,bcefgh]},{[10,cefghi]},{[5,abcefgh]}}

我最初的答案是创建一个单独的字典,它具有相同的键和每个对应字符串的长度,以及第三个字典,它循环 pair 如下:

foreach (KeyValuePair<int,string> pair  in dict1)
{
temp_dict.Add(pair.Key, pair.Value.Count());
}

var items = from pair in temp_dict
orderby pair.Value ascending
select pair;

foreach (KeyValuePair<int, int> pair in items)
{
result_dict.Add(pair.Key, dict1[pair.Key]);
}

但这个结果现在适用于大量数据。

最佳答案

您不能指望字典被排序。相反,您可以使用 SortedDictionary<string, string>并将自定义的 IComparer<T> 传递给它的构造函数.

关于c# - 根据C#中字符串值的长度对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25654401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com