gpt4 book ai didi

C# - 添加新元素时返回索引的集合

转载 作者:行者123 更新时间:2023-11-30 23:33:44 25 4
gpt4 key购买 nike

我正在寻找符合以下条件的集合:

  1. 集合中的元素从不重复。也就是说,一些东西 ISet<T> -喜欢。
  2. 除非从集合中移除元素,否则集合中元素的顺序不会改变。 (在我的用例中,我从不删除任何元素)。
  3. 我希望能够获得我刚刚添加的元素的索引。由于要求 1 这意味着:如果元素已经存在于集合中,则接收该元素的索引或接收类似 .Count 的内容如果该元素不存在。

我尝试使用 OrderedSet collection 然后通过一行扩展的方式获取元素的索引。问题是每次我尝试在已经包含数千个的集合中添加一个新元素时,我的机器都需要大约 100 毫秒。当向一个巨大的集合中添加大量元素时,这是一件大事。

我怀疑获取索引可以在添加元素的同一位置完成。因此,我正在为此目的寻找一个可能存在的集合。

提前谢谢你。

最佳答案

怎么样:

public class SpecialList<T> : List<T>
{
public new int Add(T Item)
{
if (Contains(Item))
{
return IndexOf(Item);
}
else
{
base.Add(Item);
return Count - 1;
}
}
}

关于C# - 添加新元素时返回索引的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33787915/

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