字典中的IEnumerable的子类型不可能返回

为什么在C#中这是一个问题?

public Dictionary<string, IEnumerable<object>> GetProducts() {
    return new Dictionary<string, IList<object>>();
}

解决方法:

这是不可能的,因为它将创建具有IList< object>的字典.作为价值.

因此,如果您致电:

IEnumerable<object> values = someOtherObjectCollectionPerhapseSomethingFromLinq;
Dictionary<string, IEnumerable<object>> products = GetProducts();
products.Add("MyKey", values);

您返回的字典将接受IEnumerable< object>但下面的字典将不接受它,因为它的值必须为IList< object>类型,在这种情况下,它不是.

上一篇:2021-2022-1 20211318 《信息安全专业导论》第四周学习总结


下一篇:.NET Core CSharp 中级篇 2-2 List,ArrayList和Dictionary