1
我有ObservableCollection 100個記錄。如何拆分ObservableCollection
現在我想分割10個新集合中的每個有10個記錄的集合。
它意味着1個集合= 100個記錄 (10採集= 10個記錄)= 1個集合
任何幫助將apricited。
我有ObservableCollection 100個記錄。如何拆分ObservableCollection
現在我想分割10個新集合中的每個有10個記錄的集合。
它意味着1個集合= 100個記錄 (10採集= 10個記錄)= 1個集合
任何幫助將apricited。
使用LINQ
var collection=new ObservableCollection<int>(Enumerable.Range(1,100));
collection.Aggregate(new ObservableCollection<ObservableCollection<int>>(),
(x,i)=>{
if (!x.Any() || x.Last().Count()==10) x.Add(new ObservableCollection<int>());
x.Last().Add(i);
return x;
}
);
或
ObservableCollection<ObservableCollection<T>> Split(ObservableCollection<T> collection,int splitBy=10) {
var result=collection
.Select((x,i)=>new {index=i,item=x})
.GroupBy(x=>x.index/splitBy,x=>x.item)
.Select(g=>new ObservableCollection<T>(g));
return new ObservableCollection<ObservableCollection<T>(result);
}
非常感謝鮑勃。這是工作。 –