我希望获得将对象列表拆分为子列表的代码,然后搜索" stackoverflow"。我发现这个代码可以做我真正想要的。但是我想在没有使用循环和条件的linq(正常方式)的情况下做同样的事情。
public List<object> BL = new List<object>();
List<object> List = new List<object>();
void CreateObj(int count)
{
for (int i = 0; i < count; i++)
{
BL.Add(string.Format("No. {0}", i));
}
}
void SplitObj()
{
List = BL
.Select((x, i) => new { Index = i, Value = x })
.GroupBy(x => x.Index / 12)
.Select(x => x.Select(v => v.Value).ToList())
.ToList<object>();
}
答案 0 :(得分:0)
那么你想将List拆分成List&gt;它听起来像(并根据提供的代码判断)。
以下是执行相同操作的迭代方法:
List<List<object>> newList = new List<List<object>>();
void SplitObj(int objectsPerPart)
{
if (BL == null || BL.Count < 1)
return;
List<object> current = new List<object>();
current.Add(BL[0]);
for (int i = 1; i < BL.Count; i++)
{
if (i % objectsPerPart == 0)
{
newList.Add(current);
current = new List<object>();
}
current.Add(BL[i]);
}
}