【发布时间】:2019-05-08 02:58:03
【问题描述】:
如何实现List<Dictionary<string, string>> 的排序。
我想根据字典中的第一个元素对列表进行排序。
我的数据看起来像
{
{{PID,A123},{SKU,TA50},{QTY,50}},
{{PID,C123},{SKU,TA52},{QTY,50}},
{{PID,B123},{SKU,TA53},{QTY,50}},
{{PID,A222},{SKU,TA54},{QTY,50}}
}
我试图让输出看起来像
{
{{PID,A123},{SKU,TA50},{QTY,50}},
{{PID,A222},{SKU,TA54},{QTY,50}},
{{PID,B123},{SKU,TA53},{QTY,50}},
{{PID,C123},{SKU,TA52},{QTY,50}}
}
尝试过的解决方案 list.Sort - 由于内容是字典,因此无法正常工作。 list.OrderBy - 方法不可用。
正在开发的技术 - Visual Studio Community 2017,.NET 4.6.1,控制台应用程序
【问题讨论】:
-
加
uses System.Linq;得到OrderBy -
"list.OrderBy - 方法不可用。" - 这是一种扩展方法。你有
using System.Linq;吗? -
由于字典元素没有顺序,所以没有“字典中的第一个元素”。
-
@SananFataliyev Yeh 我编辑了那个
-
如果您需要有序集合,则使用字典听起来像是代码异味。它的顺序不稳定,添加或删除项目后可能会得到不同的结果。
标签: c# dictionary