可以在下面的被改寫,這樣是使用LINQ,(而是一個這些老式foreach
循環)拆分列表到列表的列表,一個元素分裂
IEnumerable<IEnumerable<T>> SplitIntoSections<T>(IEnumerable<T> content,
Func<T, bool> isSectionDivider)
{
var sections = new List<List<T>>();
sections.Add(new List<T>());
foreach (var element in content)
{
if (isSectionDivider(element))
{
sections.Add(new List<T>());
}
else
{
sections.Last().Add(element);
}
}
return sections;
}
我想我幾乎有一這樣做的方式,(它涉及FSharp colections),當我意識到它可以用foreach
循環完成。
我認爲它會涉及到'X組by'語法,但我不夠好,在LINQ張貼正確回答。 :( –
我中央社時空視點2級的解決方案中,一個由不使用組(和是> O(n)的(儘管可能只O(2N)), 的其他用途骨料,並且由於集料是LINQ的F#的折,它必須能夠表達每一個操作,你可以做一個列表,如果真 –
指正,添加到組?從我所看到的,分隔留出分隔。 –