【问题标题】:Best practices for storing unchanging keys used in dictionary C#存储字典 C# 中使用的不变键的最佳实践
【发布时间】:2014-06-07 14:54:06
【问题描述】:

我一直在寻找有关最佳做法的任何见解,以确保与字典中的键保持一致。该字典在多个类中使用,因此有一个主类存储字典以供每个类访问。

我的问题确实是这样的:多个类访问这个Dictionary<string, object> 并且键集(总共大约 40 个)总是相同的。现在我正在通过dictionary["keyname"] 访问这些值,但我想知道使用 const 字符串存储这些键是否是一种更好的做法,或者是否有更有效的方法来减少通过拼写错误和以便更轻松地跟踪密钥。键必须是字符串或需要快速转换为字符串,因为它们还用于多部分形式以提交到 Web 服务。

感谢您的任何见解!

【问题讨论】:

    标签: c# dictionary key constants performance


    【解决方案1】:

    我想我会倾向于使用枚举类型而不是常量。它将作为序数存储,因此速度非常快。

    然后您可以使用 Enum.GetValue() 将其转换为文本。

    【讨论】:

    • 我之前考虑过这种方法,但担心获取与枚举类型等效的字符串所需的时间。最后似乎没有太大区别。
    • 您总是可以使用另一个字典来查找字符串值。这会更快,您还可以添加带空格的字符串值,即 EnumeratedValue 可以成为“Enumerated Value”。
    • 哦,我什至没有想到这一点。说得通。感谢您的建议!
    猜你喜欢
    • 2015-09-24
    • 2012-09-03
    • 2017-12-23
    • 2015-02-15
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多