【发布时间】:2021-11-18 13:52:37
【问题描述】:
大家好,我的问题是当我在 c# 中将数据添加到 Dictionary 并且我想切换(Sortype)字符串以检查用户如何想要订单数据时 像这样:
string SortType="ByDownloads";
Dictionary<string, Data> WorldInfo = JsonConvert.DeserializeObject<Dictionary<string, Data>>(Res.Body.ToString());
switch (SortType)
{
case "ByDownloads":
WorldInfo.OrderByDescending(AllData => AllData.Value.PostDownloads).ToList();
break;
case "ByViews":
WorldInfo.OrderBy(AllData => AllData.Value.PostViews).ToList();
break;
}
这样,代码将不起作用,数据没有排序 但是当我使用这种方式时,代码将起作用:
Dictionary<string, Data> WorldInfo = JsonConvert.DeserializeObject<Dictionary<string, Data>>(Res.Body.ToString());
var NewSortedDictionary = WorldInfo.OrderByDescending(AllData => AllData.Value.PostViews).ToList();
所以我正在寻找正确的方法来执行此操作并使用 (WorldInfo) 字典并切换 (SortType) 然后我使用它而不是 (NewSortedDictionary)。 谢谢你:)
【问题讨论】:
-
但是.. 您将 Sortype 设置为一个不会出现在 switch 语句中的值
-
感谢您的回复,我有些地方错了,我更新了代码看看问题出在哪里
-
避免混淆 - 你不能对字典进行排序
- 你正在做的是枚举和排序字典的内容并存储到键值对列表中并将其称为字典;不是,所以你不应该 -
字典未排序。你是说 SortedList 吗?
标签: c# .net dictionary