在C#中,我有一个如下列表:
var sequence = new List<int> { 10, 7, 10, 1, 10, 5, 10, 8 , 11 , 50 };
我想创建10个单独的列表,通过迭代序列,并在每次迭代中选择三个元素,而不是一个元素。
我为此编写了下面的代码,但它有缺陷,必须是一个更好的方式做到这一点:
var sequence = new List<int> { 10, 7, 10, 1, 10, 5, 10, 8 , 11 , 50 };
var lists = Enumerable.Range(0, 10)
.Select(i =>
{
var list = sequence.GetRange(i, 3);
return list;
}).ToList();
P. S.:功能的方式我的意思是这样的东西:
var lists = Sequence.Window(sourceSafed.Skip(1)).....Select(window => window.Take(3))......ToList();
2条答案
按热度按时间nx7onnlm1#
正如前面的评论所说,你的代码并没有什么真正的问题。为了让它看起来更像LINQish,你可以这样写:
9q78igpj2#
你可以用这个方法来提问。
或者您可以使用此代码Linq