2012-03-27 8 views

Respuesta

40

Puede usar Enumerable.Range() para, p. Ej. devolver una matriz de 21 números enteros a partir de las 30:

return Enumerable.Range(30, 21).ToArray(); 
+1

Necesita extender el conteo a 21 (incluye el número inicial). –

+1

Problema de OP corregido - considerado más de un ejemplo – BrokenGlass

+0

¿Solo responde Linq? – Bitterblue

20

uso Enumerable.Range

var array = Enumerable.Range(30, 21).ToArray(); 

Esto dará lugar a una secuencia de 21 valores a partir de las 30. en pocas palabras, se obtiene el { 30 ... 50 } matriz

+0

¿Es esto tan rápido como un bucle for? – Sam

+5

@SamStriano posiblemente; ¿Por qué no lo intentas y ves? – phoog

+0

@phoog Si alguien ya sabe la respuesta, le ahorrará algo de tiempo configurar un proyecto para probarla – Denny

1

utilizando un bucle es más rápido que el uso de Enumerable.Range().ToArray()

he medido para la creación de una matriz de 1 000 000 elementos.

int[] array = Enumerable.Range(0, 1000000).ToArray(); toma 9ms, mientras que la creación de una matriz int[] array2 = new int[1000000]; y rellenarlo en un bucle for tomó solo 3ms.

Cuestiones relacionadas