使用LINQ將列表拆分為子列表有什么方法可以把List<SomeObject>分成幾個單獨的列表SomeObject,使用項索引作為每個分隔符的分隔符?讓我舉例說明:我有一個List<SomeObject>我需要一個List<List<SomeObject>>或List<SomeObject>[],這樣,這些結(jié)果列表中的每一個都將包含原始列表中的3項(按順序排列)。例如:原始清單:[a, g, e, w, p, s, q, f, x, y, i, m, c]由此產(chǎn)生的清單:[a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]我還需要結(jié)果列表大小作為此函數(shù)的參數(shù)。
3 回答

牧羊人nacy
TA貢獻1862條經(jīng)驗 獲得超7個贊
public static IList<IList<T>> Split<T>(IList<T> source){ return source .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / 3) .Select(x => x.Select(v => v.Value).ToList()) .ToList();}
IEnumerable
List
List
List
s

慕無忌1623718
TA貢獻1744條經(jīng)驗 獲得超4個贊
/// <summary>/// Break a list of items into chunks of a specific size /// </summary>public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> source, int chunksize){ while (source.Any()) { yield return source.Take(chunksize); source = source.Skip(chunksize); }}
- 3 回答
- 0 關(guān)注
- 747 瀏覽
添加回答
舉報
0/150
提交
取消