如何拆分 ObservableCollection [英] how to split ObservableCollection

查看:57
本文介绍了如何拆分 ObservableCollection的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 100 条记录的 ObservableCollection.

i have ObservableCollection with 100 records.

现在我想将该集合拆分为 10 个新集合,每个集合有 10 条记录.

now i want to get split that collection in 10 new collection each having 10 records.

这意味着 1 个集合 = 100 条记录(10 个集合 = 10 条记录) = 1 个集合

it means 1 collection = 100 records (10 collection = 10 records) = 1 collection

我们将不胜感激.

推荐答案

使用 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);
}

这篇关于如何拆分 ObservableCollection的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆