将列表分成多个列表

我有一个我发送到队列的字符串列表.我需要拆分列表,以便最终列出一个列表,其中每个列表包含一个最大(用户定义的)数量的字符串.所以例如,如果我有一个列表,具有以下A,B,C,D,E,F,G,H,I和列表的最大大小是4,我想要列出一个列表,第一个列表项包含:A,第二个列表有:E,最后一个列表项包含:I.我查看了“TakeWhile”函数,但不知道是否这是最好的方法.有人得到了解决方案吗?

解决方法

您可以设置列表< IEnumerable< string>>然后使用Skip和Take来分割列表:
IEnumerable<string> allStrings = new[] { "A","B","C","D","E","F","G","H","I" };

List<IEnumerable<string>> listofLists = new List<IEnumerable<string>>();
for (int i = 0; i < allStrings.Count(); i += 4)
{                
    listofLists.Add(allStrings.Skip(i).Take(4)); 
}

现在listofLists将包含列表的列表.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...