Compartir vía


Enumerable.Range(Int32, Int32) Método

Definición

Genera una secuencia de números enteros en un intervalo especificado.

public:
 static System::Collections::Generic::IEnumerable<int> ^ Range(int start, int count);
public static System.Collections.Generic.IEnumerable<int> Range (int start, int count);
static member Range : int * int -> seq<int>
Public Function Range (start As Integer, count As Integer) As IEnumerable(Of Integer)

Parámetros

start
Int32

Valor del primer entero de la secuencia.

count
Int32

Número de enteros secuenciales que se van a generar.

Devoluciones

en IEnumerable<Int32> C# o IEnumerable(Of Int32) en Visual Basic que contiene un intervalo de números enteros secuenciales.

Excepciones

count es menor que 0.

O bien

start + count -1 es mayor que Int32.MaxValue.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Range para generar una secuencia de valores.

// Generate a sequence of integers from 1 to 10
// and then select their squares.
IEnumerable<int> squares = Enumerable.Range(1, 10).Select(x => x * x);

foreach (int num in squares)
{
    Console.WriteLine(num);
}

/*
 This code produces the following output:

 1
 4
 9
 16
 25
 36
 49
 64
 81
 100
*/
' Generate a sequence of integers from 1 to 10
' and project their squares.
Dim squares As IEnumerable(Of Integer) =
Enumerable.Range(1, 10).Select(Function(x) x * x)

Dim output As New System.Text.StringBuilder
For Each num As Integer In squares
    output.AppendLine(num)
Next

' Display the output.
Console.WriteLine(output.ToString())

' This code produces the following output:
'
' 1
' 4
' 9
' 16
' 25
' 36
' 49
' 64
' 81
' 100

Comentarios

Este método se implementa mediante la ejecución diferida. El valor devuelto inmediato es un objeto que almacena toda la información necesaria para realizar la acción. La consulta representada por este método no se ejecuta hasta que el objeto se enumera llamando directamente a su GetEnumerator método o mediante foreach en C# o For Each en Visual Basic.

Se aplica a