dr.*_*vil 4 .net c# dictionary key key-value
在.NET中我可以使用任何字符串作为字典键吗?这是模板引擎的一部分,我计划允许用户添加自定义标头和值.
标题将类似于"X值"或"分析和XYZ报告摘要",我担心如果他们会在罕见的角色或类似的东西中获得异常.
我假设有大小限制,但期望它大于256个字符.MSDN没有关于这个问题的任何细节.
是的,它可以使用任何有效的字符串(限制为几十亿字节)。
顺便说一句,您可能会传递一个自定义IEqualityComparer<T>
,您可能会传递给Dictionary
可能需要最大限制的构造函数。
字典对用作其键和值的类型没有任何特殊知识.无论对象类型如何,它都会简单地调用GetHashCode
和Equals
方法,以允许它将值放入正确的存储桶中并再次检索它.这意味着任何正确实现这些方法的类都可以用作键.
本string
类没有正确地实现基于其价值这些方法,所以只要你可以构建String的实例,那么你可以使用它作为重点.