【发布时间】:2018-10-16 23:39:41
【问题描述】:
如何通过类中的字典键对类列表进行排序 比如……
List<City> cities;
Public Class City
{
public Dictionary<string, string> CityAttributes;
}
在这种情况下,我想通过字典 CityAttributes 中的特定字符串对 cities 列表进行排序。
例如 伦敦 巴黎 纽约
每个城市都有一个 CityAttribute 字典...
<"Population over 6 million", "Yes">
<"Radius more than 15 miles", "No">
<"Currency","Euro">
我想按货币排序城市。结果列表将是: 纽约 巴黎 伦敦
【问题讨论】:
-
你是指那个字典中的特定值?
-
嗯,那是一本字典。您希望如何通过包含多个键和值的完整字典进行排序?你应该告诉我们更多关于逻辑的信息。这就像说我想按居民对城市进行排序一样,如果没有其他信息,意义不大。在这种情况下,按人口对城市进行排序会很有用,因此在您的样本中,您可以使用
someClass.OrderBy(x => x.SomeProperty.Count)。 -
你想使用 lambda 先排序字典,然后使用投影将其投影到 someClass 中吗?
-
按 SomeProperty 的项目数排序?通过它的哈希码?我们需要这方面的更多信息。
-
您考虑过使用SortedDictionary吗?