首页 / 知识
关于c#:关键值对数据结构的最佳实现?
2023-04-12 01:46:00

Best implementation for Key Value Pair Data Structure?所以我最近一直在讨论C#,所有的Generic Collections让我有些困惑。 假设我想表示一个数据结构,其中树的头是一个键值对,然后在它下面有一个可选的键值对列表(但没有比这些更多的级别)。 这适合吗?
传递数据只是一个简单的分流。 有一个名为KeyValuePair的实际数据类型,就像这样使用
你可以做的一件事就是直接使用Dictionary对象,然后用你自己的修改来扩展它:
这使您无需为密钥强制执行IDictionary规则(例如,密钥唯一性等)。 并且你明白了构造函数的概念:) 我认为你可能会追求的(作为你的问题的字面实现)是:
你确实在问题中说出了键值的"列表",所以你可能想要将内部
有一个KeyValuePair内置类型。事实上,这是IDictionary在您迭代时可以访问的内容。 此外,这种结构几乎不是一棵树,找到一个更有代表性的名字可能是一个很好的锻炼。 只需要添加一件事(虽然我认为你已经让别人回答了你的问题)。为了扩展性(因为我们都知道它会在某些时候发生),您可能需要查看复合模式这是使用"树状结构"的理想选择。 就像我说的,我知道你只期待一个子级别,但如果你以后需要扩展^ _ ^这对你真的很有用 @Jay Mooney:.NET中的通用Dictionary类实际上是一个哈希表,只有固定类型。 您显示的代码不应该说服任何人使用Hashtable而不是Dictionary,因为这两个代码段都可以用于这两种类型。 对于哈希表:
对于字典:
对于使用KeyValuePair的另一个,只需使用Hashtable的非泛型版本和Dictionary的通用版本。 因此,两种方式都很简单,但Hashtable使用Object来表示键和值,这意味着你将列出所有值类型,并且你没有类型安全,而Dictionary使用泛型类型,因此更好。 使用这样的东西:
这很难看,但我认为它会给你你想要的东西。太糟糕了KeyValuePair是密封的。 字典类正是你想要的,正确的。 您可以直接将字段声明为Dictionary而不是IDictionary,但这取决于您。 |
最新内容
相关内容
python如何打印列表长度
python如何打印列表长度,培训,技术,概念,项目,列表,长度,数组,方法,鲜为人知,初始化,首先,我们需要明确的一点就是Python是没有数组这一概念的python如何打印列表
python如何打印列表,代码,培训,列表,参数,语句,结果,定义,切片,函数,后面,Python列表的打印方法如下我们知道,Python打印列表一般是要用for…ipython如何实现对Python中列表的排
python如何实现对Python中列表的排序?,培训,工作,实例,方法,关键字,对象,函数,以上,列表,表达式,对List进行排序,Python提供了两个方法方法1.python如何创建数值列表
python如何创建数值列表,数字,培训,代码,数据,列表,数值,函数,结果,实例,上述,python如何创建数值列表1、在数据可视化中,处理的几乎都是由数python处理列表的部分元素
python处理列表的部分元素,培训,元素,切片,列表,部分,索引,负数,末尾,函数,称之为,python处理列表的部分元素1、处理列表的部分元素称之为切python列表数据如何增加和删除
python列表数据如何增加和删除,数据,培训,列表,索引,之后,末尾,跬步,结果,坚持不懈,字符串,python列表数据如何增加和删除1、使用append函数python列表的数据类型分析
python列表的数据类型分析,分析,设计,一致,培训,元素,数据类型,列表,索引,实例,逻辑,python列表的数据类型分析说明1、设计出一种循环的数据python列表如何结合数组使用
python列表如何结合数组使用,时间,培训,数组,列表,元素,结尾,长度,多种,以上,类型,python列表如何结合数组使用说明1、要存储多种相同类型的python列表有几种切片形式
python列表有几种切片形式,培训,切片,索引,形式,列表,数据项,示例,实例,以上,教程,python列表有几种切片形式1、切片形式(1)正向切片正向切片python列表中有哪些内置函数
python列表中有哪些内置函数,情况,培训,函数,列表,元素,素数,总和,字符串,数值,字典,python列表中有哪些内置函数在Python中,与列表相关的内置python用切片复制列表
python用切片复制列表,培训,列表,切片,索引,方法,赋值,实例,根据,以上,两个,python中用切片复制列表1、说明(1)需要根据现有列表制作新列表,可python列表排序的两种方式
python列表排序的两种方式,培训,列表,方式,函数,顺序,参数,排列,元素,以上,方法,python列表排序的两种方式1、使用sort()永久排序列表。用sor