将IList投射到列表
我正在尝试将IList
types转换为List
types,但每次都会出现错误。
List<SubProduct> subProducts= Model.subproduct;
Model.subproduct
返回IList<SubProduct>
。
尝试
List<SubProduct> subProducts = new List<SubProduct>(Model.subproduct);
要么
List<SubProduct> subProducts = Model.subproducts as List<SubProduct>;
这个怎么样:
List<SubProduct> subProducts = Model.subproduct.ToList();
在我的情况下,我必须这样做,因为没有build议的解决scheme可用:
List<SubProduct> subProducts = Model.subproduct.Cast<SubProduct>().ToList();
List<SubProduct> subProducts= (List<SubProduct>)Model.subproduct;
隐式转换失败,因为List<>
实现IList
,而不是反之。 所以你可以说IList<T> foo = new List<T>()
,而不是List<T> foo = (some IList-returning method or property)
。
List<ProjectResources> list = new List<ProjectResources>(); IList<ProjectResources> obj = `Your Data Will Be Here`; list = obj.ToList<ProjectResources>();
这将IList对象转换为列表对象。
这是将通用对象列表强制转换/转换为string列表的最佳select。
object valueList; List<string> list = ((IList)valueList).Cast<object>().Select(o => o.ToString()).ToList();