Linq-列表的列表
我有一个如下的清单Linq-列表的列表,linq,Linq,我有一个如下的清单 var stringCollection = {"X","1", "2","X","5", "10","X","7", "9"} SibList1 = {"X","1", "2"} SibList2 = {"X","5", "10"} SibList3 = {"X","7", "9"} 现在我需要一个列表列表,每个子列表如下所示 var stringCollection = {"X","1", "2","X","5", "10","X","7", "9"} SibLis
var stringCollection = {"X","1", "2","X","5", "10","X","7", "9"}
SibList1 = {"X","1", "2"}
SibList2 = {"X","5", "10"}
SibList3 = {"X","7", "9"}
现在我需要一个列表列表,每个子列表如下所示
var stringCollection = {"X","1", "2","X","5", "10","X","7", "9"}
SibList1 = {"X","1", "2"}
SibList2 = {"X","5", "10"}
SibList3 = {"X","7", "9"}
可以使用linq吗
问候
Krish试试这个
string[] stringCollection = { "X", "1", "2", "X", "5", "10", "X", "7", "9" };
int index = 0;
var subLists = stringCollection
.Select(x => new { i = (x == "X" ? ++index : index), s = x })
.GroupBy(x => x.i)
.Select(x => x.Select(y => y.s).ToArray())
.ToArray();
每个子列表可能重复3个元素,或者可能会有所不同,比如当你再次遇到一个x时,它只会重置?@sovemp无论哪种方式,都有一个足够好的重复:非常聪明,我认为这是一个比另一篇文章中给出的更好的解决方案。