我有一个int的列表,其中包含值0,0,0,1,2,3,4,0,0现在我想将其拆分为3个列表,如此列表A包含0,0,0而列表B包含1 ,2,3,4和列表C包含0,0.我知道如何使用if和for进行拆分,但是如何使用linq进行拆分.通常的格式我需要拆分开始一些零和中间一些值,最后一些零我需要在一个列表中拆分这个第一个零,一个列表中的中间值和另一个列表中的结束零,正如我在上面的例子中所说的使用linq而且我喜欢采用值的索引.
第一.
myList.TakeWhile(x => x==0)
Run Code Online (Sandbox Code Playgroud)
第二个.
myList.SkipWhile(x => x==0).TakeWhile(x => x!= 0)
Run Code Online (Sandbox Code Playgroud)
第三个.
myList.SkipWhile(x => x==0).SkipWhile(x => x!= 0)
Run Code Online (Sandbox Code Playgroud)