【发布时间】:2017-08-17 15:20:52
【问题描述】:
如果我不知道其中的键和值的具体类型,我将如何遍历 IDictionary 的键和值,因此只想将它们视为 objects?
如果我这样做:
foreach(var x in myIDictionary) { ... }
我认为x 是object。但是,我将如何从中获取Key 和Value(均输入为objects),如IDictionaryEnumerator 中指定的那样?没有泛型参数的IKeyValuePair 不存在吗?
我想我可以使用MoveNext 等手动循环遍历枚举器,但我觉得必须有一种方法可以使用foreach!
【问题讨论】:
-
I think x is an object你为什么不检查它实际上是什么,而不仅仅是猜测。 -
@BernardWalters 这是一种派生自对象的类型。它可以转换为“对象”。
x的类型不是“对象”。 -
@JosephHumfrey 如果您想了解这些项目是什么,可以查看该类型的文档。
-
@Servy - 查看答案 - 这并不完全简单(例如“没有明确的类型”与“您可以使用
DictionaryEntry,但并非总是如此”)。但请随时向我指出明确给出明确答案的文档的方向。 -
@JosephHumfrey 我完全相信您能够自行找到
IDictionary的文档。您不需要我(或其他回答者)为您找到它。
标签: c# idictionary