如何用C#中的整数序列创build数组?
F#有序列 ,允许创build序列:
seq { 0 .. 10 }
从0到10创build数字序列。
在C#中有类似的东西吗?
您可以使用Enumerable.Range(0, 10);
。 例:
var seq = Enumerable.Range(0, 10);
MSDN页面在这里 。
Enumerable.Range(0, 11);
在指定的范围内生成一个整数的序列。
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx
你可以创build一个简单的function。 这将工作更复杂的序列。 否则Enumerable.Range
应该做的。
IEnumerable<int> Sequence(int n1, int n2) { while (n1 <= n2) { yield return n1++; } }
我的实现:
private static IEnumerable<int> Sequence(int start, int end) { switch (Math.Sign(end - start)) { case -1: while (start >= end) { yield return start--; } break; case 1: while (start <= end) { yield return start++; } break; default: yield break; } }