ListCollectionView到List

时间:2017-11-23 10:12:57

标签: c#

我有一个ListCollectionView,我想把它放入List中,但我不确定如何做到这一点。
以下是我尝试过的代码。它返回ListCollectionView的错误  不包含ToList()的定义。

   var repItems = (ListCollectionView)view;
   var listItems = repItems.ToList();

谁能告诉我怎么样?

3 个答案:

答案 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