C# 将一个 List分成三个 List,每个包含指定的数量

发布时间 2023-04-13 20:09:15作者: LuoCore
我们可以使用 LINQ 中的 GroupBy 方法。首先,我们需要将原始列表分成大小为100的块,然后将这些块分组到三个列表中。

以下是实现此操作的代码示例:

 
using System.Linq;
 
// 假设原始列表名为 originalList
List<List<string>> groupedLists = originalList
    .Select((value, index) => new { Index = index, Value = value })
    .GroupBy(x => x.Index / 100)
    .Select(x => x.Select(v => v.Value).ToList())
    .ToList();

 

 
// 现在,groupedLists[0],groupedLists[1] 和 groupedLists[2] 包含原始列表的三个块,每个块包含100个单号。
 

在上面的代码中,我们使用 Select 方法将原始列表中的每个元素与其索引配对。然后,我们使用 GroupBy 方法将这些元素分组到大小为100的块中。最后,我们使用 Select 方法将每个块转换为 List>,并将这些块分组到一个 List>> 中。