在c#中的多个List <User>中拆分List <User>

Red*_*wan 1 list c#-4.0

我想将用户通用列表的List分成每个5条记录的小列表.

防爆

I have List: u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15.
so must be split into 
List1:u1,u2,u3,u4,u5
List2:u6,u7,u8,u9,u10
List3:u11,u12,u13,u14,u15
Run Code Online (Sandbox Code Playgroud)

任何可用的直接方法或需要c#中的编程逻辑?

Guf*_*ffa 5

您可以对索引进行分组:

List<List<User>> lists =
  list
  .Select((u, i) => new { List = i / 5, User = u })
  .GroupBy(g => g.List, g => g.User)
  .Select(g => g.ToList())
  .ToList();
Run Code Online (Sandbox Code Playgroud)

您还可以使用Range循环并获取每个迭代的列表的一部分:

List<List<User>> lists =
  Enumerable.Range(0, (list.Count + 4) / 5)
  .Select(n => list.Skip(n * 5).Take(5).ToList())
  .ToList();
Run Code Online (Sandbox Code Playgroud)