相关疑难解决方法(0)

使用LINQ将列表拆分为子列表

有没有什么方法可以将项目索引作为每个拆分的分隔符List<SomeObject>分成几个单独的列表SomeObject?

让我举例说明:

我有一个List<SomeObject>,我需要一个List<List<SomeObject>>或List<SomeObject>[],所以这些结果列表中的每一个将包含一组3个原始列表项(顺序).

例如.:

  • 原始清单: [a, g, e, w, p, s, q, f, x, y, i, m, c]

  • 结果列表: [a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]

我还需要将结果列表大小作为此函数的参数.

c# linq data-structures

361
推荐指数
18
解决办法
19万
查看次数

为什么ToLookup和GroupBy不同?

.ToLookup<TSource, TKey>返回一个ILookup<TKey, TSource>.ILookup<TKey, TSource>还实现了接口IEnumerable<IGrouping<TKey, TSource>>.

.GroupBy<TSource, TKey>返回一个IEnumerable<IGrouping<Tkey, TSource>>.

ILookup具有方便的索引器属性,因此它可以以字典(或类似查找)的方式使用,而GroupBy则不能.GroupBy没有索引器是一种痛苦的工作; 几乎是你可以引用返回对象的唯一方法是循环它(或使用另一个LINQ扩展方法).换句话说,任何GroupBy工作的情况下,ToLookup也会起作用.

这一切让我想到为什么我会打扰GroupBy?为什么要存在?

c# linq

100
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×2

linq ×2

data-structures ×1