gpt4 book ai didi

c# - 具有强制唯一值的 .Net 字典

转载 作者:行者123 更新时间:2023-11-30 18:49:43 24 4
gpt4 key购买 nike

是否可以强制字典具有唯一值?请参阅以下示例。

Dictionary<string, string> types = new Dictionary<string, string>()
{
{"1", "one"},
{"2", "two"},
{"3", "three"}
};

如果有人试图执行以下行,他们应该收到一个错误。

types.Add("4","one");

我知道这不是字典的构建方式,正确的答案可能是使用不同的/自定义的数据结构。

最佳答案

保留两个数据结构;你的普通词典和 HashSet<string>对于值(value)观。当您想添加一个项目时,首先检查该值是否在哈希集中。如果不是,那么您就知道添加到字典和集合中是安全的。 (还要确保在删除时从两个集合中删除项目。)

如果在足够多的地方这样做,那么可能值得创建您自己的 IDictionary<K,V>同时使用常规 Dictionary 的实现和一个 HashSet在内部,这样您在使用它时就不需要做太多的工作。如果此特定结构仅在少数地方使用,则创建此类的投资可能不值得。

关于c# - 具有强制唯一值的 .Net 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18832227/

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