无法强制转换object类型的对象{System.Collections.Generic.List}
本文关键字:List Generic Collections string System 转换 object 对象 类型 | 更新日期: 2023-09-27 18:02:35
为什么不能将运行时类型为object {System.Collections.Generic.List<string[]>}
的对象强制转换为ICollection<object>
?
我肯定这是很明显的事情,但我想不出来。
它给出了异常-
无法强制转换类型的对象'System.Collections.Generic.List
1[System.String[]]' to type 'System.Collections.Generic.ICollection
1[System.Object]'.
在c# 4.0之前,泛型不是协变的。如果你没有使用c# 4.0,你可以像这样完成这个强制转换:
List<string[]> list = new List<string[]>();
//...Fill the list...
ICollection<object> collection = list.ConvertAll<object>(item => item as object);
参见通用接口中的差异