尝试以下操作时,会收到 InvalidCastException 错误:
IEnumerable<object> test = (IEnumerable<object>)new List<KeyValuePair<string, int>>();
不过,这个方法确实有效:
IEnumerable<object> test = (IEnumerable<object>)new List<Dictionary<string, int>>();
那么它们之间有什么大的区别呢?为什么一个KeyValuePair不能转换成一个object?
更新:我应该指出这确实有效:
object test = (object)KeyValuePair<string,string>;