如何让SortedList或SortedDictionary利用value进行排序?

SoulRed 2019-11-01 07:23:46
为什么我看到的都是利用key排序啊。
难不成这俩排序类只能用Key排序?
IComparable只能利用key?
搜了stackoverflow也没找到。。
都是利用Linq重新生成一个集合
...全文
99 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoulRed 2019-11-01
  • 打赏
  • 举报
回复
看了下MSDN和stackoverflow 貌似真的只能用key排序。 用value的话。只能用Linq的 orderby 进行重新生成一个新的集合。。。
秋的红果实 2019-11-01
  • 打赏
  • 举报
回复
很少用dictionary,你不是键-值类型数据么,看下面

struct KeyValue
{
    public string key { set; get; }
    public int value { set; get; }
    public KeyValue(string k,int v)
    {
        key = k;
        value = v;
    }
}

List<KeyValue> dic = new List<KeyValue>();
dic.Add(new KeyValue("c", 100));
dic.Add(new KeyValue("a", -2));
dic.Add(new KeyValue("b", 40));
KeyValue temp;
int len = dic.Count;
for (int i = 0; i < len - 1; i++)
{
    for (int j = 0; j < len - i - 1; j++)
    {
        if (dic[j].value>dic[j+1].value)
        {
            temp = dic[j];
            dic[j] = dic[j + 1];
            dic[j + 1] = temp;
        }
    }
}

秋的红果实 2019-11-01
  • 打赏
  • 举报
回复
把key和value的值换下

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧