说我有下一个序列:
1
2
3
4
5
6
7
8
9
10
我需要与Linq做下一件事:
1,2;
2,3;
3,4;
4,5;
...
9,10;
无法得到它。
答案 0 :(得分:5)
这是你想要的吗?
var list = new[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
var result = Enumerable.Range(0, list.Length - 1)
.Select(i => new[] {list[i], list[i + 1]});
答案 1 :(得分:0)
your_sequence.Take(high - low).Select(i => new []{i, i + 1})
在你的情况下:低= 1,高= 10。
要测试你可以写
Enumerable.Range(1, 10).Take(10 - 1).Select(i => new []{i, i + 1})
LinqPad 中的
答案 2 :(得分:0)
var res =
Enumerable.Range(1, n).Select(item => new[] { item, item + 1 });