0

假设我得到了下一个序列:

1
2
3
4
5
6
7
8
9
10

我需要用 Linq 做下一件事:

1,2;
2,3;
3,4;
4,5;
...
9,10;

无法得到它。

4

3 回答 3

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]});
于 2012-10-25T08:39:15.897 回答
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中

于 2012-10-25T08:42:05.000 回答
0
var res =
    Enumerable.Range(1, n).Select(item => new[] { item, item + 1 });
于 2012-10-25T08:43:37.280 回答