C# 存储字典C中使用的不变键的最佳实践#

C# 存储字典C中使用的不变键的最佳实践#,c#,dictionary,key,constants,performance,C#,Dictionary,Key,Constants,Performance,我一直在寻找对最佳实践的任何见解,以确保与字典中的键保持一致。字典在多个类中使用,因此有一个主类存储字典以供每个类访问 我的问题是:多个类访问这本字典,而键集(总共大约40个)总是相同的。现在我正在通过字典[“keyname”]访问这些值,但我想知道使用const字符串存储这些键是否是一种更好的做法,或者是否有更有效的方法来减少拼写错误引入错误的机会,并更容易跟踪键。密钥需要是字符串,或者需要快速转换为字符串,因为它们也用于提交到web服务的多部分表单中 谢谢你的洞察力 我想我会倾向于使用枚举类

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

我的问题是:多个类访问这本
字典
,而键集(总共大约40个)总是相同的。现在我正在通过
字典[“keyname”]
访问这些值,但我想知道使用const字符串存储这些键是否是一种更好的做法,或者是否有更有效的方法来减少拼写错误引入错误的机会,并更容易跟踪键。密钥需要是字符串,或者需要快速转换为字符串,因为它们也用于提交到web服务的多部分表单中


谢谢你的洞察力

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


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

我以前考虑过这种方法,但担心获得与Enum类型等效的字符串所需的时间。最后,这似乎没什么区别。你可以使用另一个字典来查找sting值。这会更快,你也可以用空格来添加字符串值,比如EnumeratedValue可以变成“EnumeratedValue”。哦,我甚至没有想到这一点。有道理。谢谢你的建议!