尝试这样的事情时,遇到了一个InvalidCastException:无法将列表<KeyValuePair <...,...>>转换为IEnumerable <object>?
IEnumerable<object> test = (IEnumerable<object>)new List<KeyValuePair<string, int>>();
然而,这并工作:
IEnumerable<object> test = (IEnumerable<object>)new List<Dictionary<string, int>>();
那么,有什么大的差别?为什么KeyValuePair不能转换为对象?
更新:我也许应该指出,这没有工作:
object test = (object)KeyValuePair<string,string>;
哎哟。是的,这解释了它。 – 2011-12-20 13:52:17