Как создать массив с последовательностью целых чисел в С#?

F # имеет последовательности, которые позволяют создавать последовательности:

seq { 0 .. 10 }

Создать последовательность чисел от 0 до 10.

Есть ли что-то подобное в С#?

Ответ 1

Вы можете использовать Enumerable.Range(0, 10);. Пример:

var seq = Enumerable.Range(0, 10);

Страница MSDN здесь.

Ответ 3

Вы можете создать простую функцию. Это будет работать для более сложной последовательности. В противном случае следует выполнить Enumerable.Range.

IEnumerable<int> Sequence(int n1, int n2)
{
    while (n1 <= n2)
    {
        yield return  n1++;
    }
}

Ответ 4

Моя реализация:

    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;
        }
    }