我有一个发送到队列的字符串列表。我需要拆分列表,以便最终得到一个列表列表,其中每个列表包含最大(用户定义)数量的字符串。例如,如果我有一个包含以下 A、B、C、D、E、F、G、H、I 的列表,并且列表的最大大小为 4,我希望最终得到一个列表列表,其中第一个列表项包含:A、B、C、D,第二个列表项包含:E、F、G、H,最后一个列表项仅包含:I。我已经查看了“TakeWhile”函数,但不确定是否这是最好的方法。有什么解决办法吗?
您可以设置一个List<IEnumerable<string>>
然后使用Skip
and 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));
}
Now listOfLists
将包含一个列表列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)