2012-03-27 23 views

Antwort

40

Sie können Enumerable.Range() z. ein Array von 21 ganzen Zahlen beginnend bei 30 zurück:

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

Sie müssen die Anzahl auf 21 erhöhen (es enthält die Startnummer). –

+1

Behoben - betrachtet OP-Problem mehr von einem Beispiel – BrokenGlass

+0

Nur Linq Antworten? – Bitterblue

20

Verwenden Enumerable.Range

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

Dies in einer Folge von 21 Werten führen bei 30 beginnend einfach gesagt, erhalten Sie Ihre { 30 ... 50 } Array.

+0

Ist das so schnell wie eine for-Schleife? – Sam

+5

@SamStriano möglicherweise; warum versuchst du es nicht und siehst es. – phoog

+0

@phoog Wenn jemand die Antwort bereits kennt, spart es ihm etwas Zeit, um ein Projekt einzurichten, um es zu testen. – Denny

1

mit einem for-Schleife, als tatsächlich schneller ist Enumerable.Range().ToArray()

indem ich es, gemessen für einen Array von 1 000 000 Elementen zu schaffen.

int[] array = Enumerable.Range(0, 1000000).ToArray(); dauert 9ms, beim Erstellen eines Arrays int[] array2 = new int[1000000]; und Füllen in einer For-Schleife dauerte nur 3ms.

Verwandte Themen