【发布时间】:2019-05-17 05:30:03
【问题描述】:
List 实现了 IList,所以我希望 IList 会接受一个 List 对象 但是为什么 IList> 不接受 List>?
static IList<int> List_1()
{
List<int> list = new List<int> { 1,2,3,3,4,5};
return list;
}
static IList<IList<int>> List_2()
{
List<List<int>> parent = new List<List<int>>();
List<int> list = new List<int> { 1, 2, 3, 3, 4, 5 };
parent.Add(list);
return parent; //compiler error CS0266
}
【问题讨论】:
-
你明白为什么
List<object>不接受List<string>吗? -
返回 (IList
>) 父级; -
@jdweng:那不行,你会得到一个运行时异常。
-
@SᴇM 这不是关于将一种类型转换为对象类型,而是关于 IList 和 List。