Skip to main content
 首页 » 编程设计

c#之C#中的唯一键值集合

2024年02月24日32bjzhanghao

我想构建二维集合,我需要键值对的唯一组合。例如域“Company”(Id:1)可以有机器名“Machine1”和“Machine2”,但不能再添加另一个机器名“Machine1”。另一个域“公司”(Id:2) 可以有另一个机器名称“Machine1”。

这里我的收藏是这样的 1-Machine1, 1-Machine2, 2-Machine1。 添加 1-Machine1 或 2-Machine1 应该是无效条目。 请为此建议数据类型或方法。 我不能使用 Dict> 数据类型,因为如果大小增加,它可能会影响性能。

请您参考如下方法:

因此您需要某种具有唯一键的集合,并且此集合中的每个项目都是唯一的。

实际上,您是在谈论一个字典,其中字典中的值是一个唯一的集合。

假设你只是在谈论字符串,我会使用类似的东西:

Dictionary<string, HashSet<string>> 

如果我错了,请有人纠正我,但我认为使用这些通用结构的优点是您可以(立即)执行以下操作:

Dictionary<string, HashSet<string>> domains = new Dictionary<string, HashSet<string>>(); 
domains["Domain1"].Add("Machine1");