我正在尝试将一个条目集合放在一个zip文件中,并将相关的条目组合在一起。我知道一组中应该有4个条目。我尝试了以下方法:
var entryGroups = zipArchive.Entries
.OrderBy(entry => entry.FullName)
.Select((entry, index) => new {index, entry})
.GroupBy(entry => entry.index % groupSize)
.Select(group => group.Select(grouping => grouping.entry));
不幸的是,这给了我4个大组,而我正在寻找许多每组有4个条目的组。
答案 0 :(得分:1)
可能值得使用/
而不是%
var entryGroups = zipArchive.Entries
.OrderBy(entry => entry.FullName)
.Select((entry, index) => new {index, entry})
.GroupBy(entry => entry.index / groupSize)
.Select(group => group.Select(grouping => grouping.entry));
答案 1 :(得分:1)
将余数运算符%
替换为整数除/
使用提醒操作符仅创建n
组,而不是大小为n
的组。使用整数除法(/
)划分为n
个组。请注意,最后一组可能是一些短元素(它将是余数)。