【发布时间】:2014-10-22 20:17:40
【问题描述】:
我动态创建了一个Dictionary<string,object> 并递归地将对象(字典的值)分配给string、Dictionary<string,string> 或另一个Dictionary<string,object>。我已经能够编写代码来从string 级别中取出信息,但当它是Dictionary<string,object> 时则不行。
我只是尝试将值转换为Dictionary<string, string>,但会抛出一个错误,指出无法将对象转换为该值。
我知道底层结构是Dictionary<string, string>。如何从对象中收集信息。
【问题讨论】:
-
您可能知道这一点,但您的编译器却不知道。告诉他(通过铸造)。
-
@speising 这只会导致程序在运行时崩溃。
-
@Servy 为什么?如果对象实际上是 Dictionary
,则强制转换应该是有效的。 (注意我在这里说的是 foreach 内部) -
@speising 但这不是问题所要求的。问题是询问如何将整个外部字典转换为您根本无法做到的。重点是他不想在每次使用字典时都将值转换为实际类型。
-
@Servy 它隐含地是,见中间段落。
标签: c# object dictionary casting