【发布时间】:2011-11-21 22:41:56
【问题描述】:
我目前有一个包含 3 个字典的类,每个字典都包含每个字典中相同类型的列表,但字典中的类型不同,例如:
Dictionary1<string, List<int>> ...
Dictionary2<string, List<double>>...
Dictionary3<string, List<DateTime>>...
有没有办法使用可以保存所有列表的不同集合,以便我可以遍历列表集合?能够迭代是这种集合的唯一要求,不需要排序,不需要其他操作。
我希望能够通过字符串或其他标识符直接访问 List 并访问 List 的成员。类型安全不是必需的,但作为交换,我不想强制转换任何东西,速度绝对是这里的重中之重。
因此,当对列表的成员执行计算时,假定知道确切类型,例如“double lastValue = MasterCollection["List1"].Last();”,而假定 List1 是键入双。
这可以实现吗?抱歉,我有时可能会使用不正确或不完整的术语。我不是受过训练的程序员或开发人员。
谢谢, 马特
【问题讨论】:
-
鉴于每个字典都包含不同类型的列表,我会假设每个字典都用于不同的目的。在这种情况下,拥有三个适当命名的字典似乎比拥有一个单一的、非类型安全的存储位置更清晰。您希望只有一本字典有什么特别的原因吗?
-
唯一的原因是我喜欢作为整个项目的一部分,将所有列表的内容转储到数据表和/或后续数据库表中。在我目前的情况下,代码非常笨拙,因为我总是需要显式地遍历几个字典。
标签: c# list collections dictionary hashtable