我有一个ListCollectionView,我想把它放入List中,但我不确定如何做到这一点。
以下是我尝试过的代码。它返回ListCollectionView的错误
不包含ToList()的定义。
var repItems = (ListCollectionView)view;
var listItems = repItems.ToList();
谁能告诉我怎么样?
答案 0 :(得分:3)
你可以这样做。而不是使用List使用IList
var repItems = (ListCollectionView)view;
IList<object> list = repItems.SourceCollection as IList<object>;
答案 1 :(得分:0)
您只需致电repItems.SourceCollection
即可获取基础列表。由于ListCollectionViews数据源是IList
,因此您将始终返回List。
var sourceList = new List<int> {1,2,3,4,5,6,7,7,7,7,100};
var listView = new ListCollectionView(sourceList);
Console.WriteLine(listView.SourceCollection.GetType()); //System.Collections.Generic.List`1[System.Int32]
答案 2 :(得分:0)
ListCollectionView实现了非通用的IEnumerable,因此您不能在其上调用通用的ToList扩展方法。您需要先进行投射:
System.out.println(IntervalType.DAY.getValue()); // -> 86400
System.out.println(IntervalType.DAY); // -> DAY