2012-03-27 15 views

Odpowiedz

40

Można użyć numeru Enumerable.Range() zwrócić tablicę liczb całkowitych 21, począwszy od 30:

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

Musisz przedłużyć liczbę do 21 (zawiera ona numer początkowy). –

+1

Naprawiono - rozważany problem z OP bardziej z przykładu – BrokenGlass

+0

Tylko odpowiedzi Linq? – Bitterblue

20

Zastosowanie Enumerable.Range

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

spowoduje to w sekwencji 21 wartości, począwszy od 30. Krótko mówiąc, masz swoje { 30 ... 50 } tablic.

+0

Czy jest to tak szybkie jak pętla for? – Sam

+5

@SamStriano ewentualnie; dlaczego nie spróbujesz tego i zobaczysz. – phoog

+0

@phoog Jeśli ktoś zna już odpowiedź, zaoszczędzi mu to trochę czasu, aby skonfigurować projekt, aby go przetestować. – Denny

1

za pomocą pętli jest rzeczywiście szybciej niż przy użyciu Enumerable.Range().ToArray()

I mierzony go do utworzenia tablicy 1 000 000 elementów.

int[] array = Enumerable.Range(0, 1000000).ToArray(); trwa 9 ms, podczas tworzenia tablicy int[] array2 = new int[1000000]; i wypełnienie jej w pętli for zajęło tylko 3 ms.

Powiązane problemy