gpt4 book ai didi

c# - 预购通用列表 C#

转载 作者:行者123 更新时间:2023-11-30 20:41:40 27 4
gpt4 key购买 nike

我正在寻找 C# 中的排序列表,但是当我插入一个项目时,在插入所有之后没有排序。

SortedListDictionary 都不合适,因为我可能有重复的键。

例如:

list.Insert(1001, v1);
list.Insert(1002, v2);
list.Insert(1002, v3);
list.Insert(1003, v4);

最佳答案

一种可能性是编写一个自定义比较器,它允许您的集合中有重复键:

public class DuplicateKeyComparer<TKey> : IComparer<TKey> where TKey : IComparable
{
public int Compare(TKey x, TKey y)
{
var res = x.CompareTo(y);
return res == 0 ? 1 : res;
}
}

然后使用 SortedList<TKey, TValue> :

var comparer = new DuplicateKeyComparer<int>();
var list = new SortedList<int, string>(comparer);
list.Add(1001, "v1");
list.Add(1002, "v2");
list.Add(1002, "v3");
list.Add(1003, "v4");

显然,您应该注意这种方法的罪魁祸首 - 您将永远无法从该集合中删除任何 key 。所以如果你打算使用 list.Remove(1002)作为示例,那么您将需要一种替代方法。

关于c# - 预购通用列表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167965/

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