Was ist der einfachste Weg, um das Ende eines Arrays in C# - dh. alles außer dem ersten Element.Holen Sie sich das Ende eines Arrays
Antwort
var myArray = GetSomeArray();
myArray = myArray.Skip(1).ToArray();
Bitte beachte, dass ich vermeiden würde .ToArray() so weit wie möglich anrufen und halte IEnumerable<T>
stattdessen in .net zu verwenden.
Aber ... wenn Sie ToArray wie oben genannt aufrufen, ist es wahrscheinlich viel effizienter Array.Copy zu verwenden, da ich nicht glaube, dass ToArray genug über seine Eingabe weiß, um das Array auf Länge 1 zu initialisieren. – Josh
@Josh: Das ist wahr (ich nehme an, 'ToArray' würde funktionieren, indem man intern eine' List' aufbaut und 'ToArray' auf * dem *) nennt, aber es wäre besser,' ToArray' überhaupt nicht aufzurufen, wenn Sie musste nicht. –
var array1 = new int[] { 1, 2, 3, 4, 5, 6 };
var array2 = new int[array1.Length - 1];
Array.Copy(array1, 1, array2, 0, array2.Length);
// array2 now contains {2, 3, 4, 5, 6}
bearbeiten: Joel Coehoorn Antwort ist besser, weil es bedeutet, können Sie Arrays vermeiden zusammen mit!
Lol rufen Sie mich alte Schule, aber hey es ist gültig!
for(int i = 1; i<array.length;i++)
{
array2[i-1]=array[i];
}
: P
oder man konnte sie nachgeben, wenn sie in einem Verfahren waren und Sie müssen nur sie nennen, es hängt nur ab, was Sie mit dem Schwanz tun wollen.
Ich bevorzuge die Antwort von Codeka, da es sehr einfach ist und wahrscheinlich die effizienteste Art, Dinge zu tun. Wie Sie jedoch sehen können, ist es nicht so einfach zu implementieren, wenn Sie es benötigen.
Ich habe etwas sehr ähnliches, als eine Erweiterungsmethode, so dass Sie SubArray aufrufen können, und es wird sich wie Substring in einer Zeichenfolge verhalten.
Etwas wie:
public static T[] SubArray<T>(this T[] array, int startIndex, int length)
{
// various null, empty, out of range checks here
T[] returnArray = new T[length];
Array.Copy(array, startIndex, returnArray, 0, length);
return returnArray;
}
var array1 = new[] { 1, 2, 3, 4, 5 };
var arrays2 = array1.SubArray(2, 3);
Sie könnten ein paar andere Überlastungen implementieren, wie zum Beispiel:
public static T[] SubArray<T>(this T[] array, int startIndex)
{
// null check here
return SubArray(array, startIndex, array.Length - startIndex);
}
using System.Linq;
var array = new [] { 1, 2, 3, 4 };
var tail = array.Reverse().Take (array.Length - 1).Reverse();
- 1. Holen Sie sich das erste Element eines spärlichen JavaScript-Arrays
- 2. Holen Sie sich das Genre eines Songs
- 3. Holen Sie sich den letzten Klassennamen eines Arrays mit jquery
- 4. Holen Sie sich den letzten Schlüssel eines Arrays in PHP
- 5. Holen Sie sich nur das letzte Element des Arrays Mungo
- 6. Holen Sie sich das Grafikkartenmodell?
- 7. Holen Teil eines Arrays
- 8. Holen Sie sich das Zentrum eines UIView in Swift
- 9. Holen Sie sich das nächste Element eines Anchor
- 10. Holen Sie sich das die zugrunde liegende Variable eines Aufzählungs
- 11. Holen Sie sich den Spaltenindex eines Bereichs
- 12. Holen Sie sich das letzte Duplikat
- 13. Holen Sie sich das aktuelle Element
- 14. Holen Sie sich das AspNetUser von HttpContext.Current.User
- 15. Holen Sie sich das $ This in angularjs
- 16. Holen Sie sich das Kontrollkästchen Wert php
- 17. Flex 4: Holen Sie sich das Pressobjekt
- 18. Holen Sie sich das Zeichen auf Control.KeyDown?
- 19. Holen Sie sich das aktuelle Batchfile-Verzeichnis
- 20. Holen Sie sich das geklickte Objekt
- 21. Holen Sie sich das nächste automatische Inkrement
- 22. Holen Sie sich das aktive Blatt Excel
- 23. Holen Sie die Länge eines Arrays innerhalb eines Perl-Hash
- 24. Holen Sie sich alle Werte von mehrdimensionalen Arrays
- 25. Holen Sie sich Fotoreferenz
- 26. Holen Sie sich die Datensatzdetails und berechnen Sie das Ranking
- 27. Holen Sie sich das letzte aktive Fenster: Holen Sie sich zuvor aktives Fenster
- 28. Holen Sie sich das letzte Element eines Vektors und schieben Sie es auf dem gleichen Vektor
- 29. Holen Sie den Klassennamen eines Arrays in JSTL
- 30. Holen Sie sich das erste Zeichen aus den Werten des Arrays in Swift
Es gibt mehrere Interpretationen Ihrer Frage: Haben Sie eine Kopie des Arrays wollen Elemente? Möchten Sie über das ursprüngliche Array iterieren und das erste überspringen? –