C# 类型安全且开发人员友好的列表/集合技术

标签 c# collections

我正在用 sp 调用的结果填充“字典”。键是字段名称,值是 sp 为该字段返回的任何值。这一切都很好,但出于安全和文档原因,我希望开发人员有一个预定义的 key 列表来访问此列表。我想做的是将枚举之类的东西作为字典的键,以便开发人员可以安全地访问列表,但仍然能够使用字符串键值访问字典。

我希望有一个可以使用枚举键和字符串键访问的字符串值列表。请确保任何建议都易于实现,这不是我愿意花费大量开销来实现的事情。

注意: 我希望有一个键来驱动这个而不是一个枚举声明和一个列表声明,因为我将维护两个键列表,只是格式略有不同。

更新: 让我澄清一下我想要一个字符串键的原因,我在一次情况下使用这个列表来在具有类似 ##keyName## 的较大字符串中进行替换。所以我需要能够根据 #### 中的内容从我的字典中获取值。如果我使用枚举作为 key ,我不知道该怎么做。如果我可以将字符串“keyName”映射到 enum.keyName 那么我的问题就解决了。

最佳答案

我只是创建一个包含常量字符串而不是枚举的类。

class Keys
{
    public const string Key1 = "Key1";
    public const string Key2 = "Key2";
}

这样您就不必对字典进行任何操作,但仍然拥有“建议的键”。

关于C# 类型安全且开发人员友好的列表/集合技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3054945/

相关文章:

c# - 我试图从我的 xamarin 项目的 azure 数据库取回数据

c# - DataTemplate 内的 DataTemplate - ListBox 内的 ListBox

java - 我正在尝试将 ArrayList 对象存储在数据库中

java - 为什么使用 ArrayList 的 Collections.copy 会产生 IndexOutOfBounds 异常?

c# - Visual Studio 2010 不断改变我的 winforms 控件

c# - 与其他页面相比,在第一页上显示不同的 HTML 标题

c# - 如何实现持久化ConcurrentQueue?

c# - 在 C# 中使用泛型时如何避免装箱/拆箱?

scala - 如何在 Scala 中创建查找 map

java - 无法比较 vector 数据