【发布时间】:2014-07-08 11:28:11
【问题描述】:
我正在尝试创建一个 LINQ 查询,它是 SelectMany 的衍生产品。 我有 N 项:
new {
{ Text = "Hello", Width = 2 },
{ Text = "Something else", Width = 1 },
{ Text = "Another", Width = 1 },
{ Text = "Extra-wide", Width = 3 },
{ Text = "Random", Width = 1 }
}
我希望结果是 List<List<object>>(),其中:
List<List<object>> = new {
// first "row"
{
{ Text = "Hello", Width = 2 },
{ Text = "Something else", Width = 1 },
{ Text = "Another", Width = 1 }
},
// second "row"
{
{ Text = "Extra-wide", Width = 3 },
{ Text = "Random", Width = 1 }
}
}
因此,这些项目被分组为“行”,其中内部列表中的 Sum(width) 小于或等于一个数字(maxWidth - 在我的实例中为 4)。 它有点像 GroupBy 的派生词,但 GroupBy 依赖于数组中较早的值 - 这就是我被难住的地方。
任何想法都将不胜感激。
【问题讨论】: