Feedback

C# - Array zur Laufzeit erweitern

Veröffentlicht von am 19.04.2011
(0 Bewertungen)
Eine einfache Funktion die ein bereits definiertes Array um ein Element erweitert.
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

string[] AddLineToStringArray(string[] Array, string Line)
{
    string[] IncreasedArray = new string[Array.Length + 1];
    for (int Pos = 0; Pos < Array.Length; Pos++)
    {
       IncreasedArray[Pos] = Array[Pos];
    }
    IncreasedArray[Array.Length] = Line;
    return IncreasedArray;
}
Abgelegt unter Array, Laufzeit, erweitern, generisch.

10 Kommentare zum Snippet

Legion schrieb am 19.04.2011:
Hallo, einfacher wäre es auf die Array.Resize-Funktion zurückzugreifen.
In deinem Fall Wäre das:
Array.Resize(ref Array, Array.Length + 1);
Array[Array.Length - 1] = Line
EffEff schrieb am 19.04.2011:
Danke, das sieht wirklich etwas eleganter aus. Mit der Array - Klasse hatte ich mich noch gar nicht beschäftigt. Danke für den Tip!
Legion schrieb am 19.04.2011:
Keine Ursache ;)
Christopher Kk schrieb am 21.04.2011:
Die Frage die sich mir da stellt:
Warum benutzt du nicht eine List<string>?
Legion schrieb am 21.04.2011:
Das hätte er tun können, aber es geht ja nunmal um ein Array welches man erweitern soll.
Christopher Kk schrieb am 21.04.2011:
Jo und nochmal stell ich die Frage:
Warum nimmt er keine List<string>?
Warum ein Array erweitern mit Funktionen die doch durch eine List bereits zur automatisch zur Verfügung gestellt werden? Sicherlich isses ne nette Übung aber ich verwende lieber Sachen wo ich mich nicht mehr um sowas kümmern muss.
EffEff schrieb am 22.04.2011:
Ich habe einen string eingelesen. Und der lässt sich durch die Split-Funktion so prima einfach in ein Array zerlegen. da ist es aus meiner Sicht mit der List ein wenig umständlicher. Und dann hab ich nach ner Möglichkeit gesucht, das Array nachträglich zu erweitern.

Die Array - Klasse habe ich noch nicht verwendet - daher habe ich mir die Funktion gebastelt.
Christopher Kk schrieb am 22.04.2011:
Wieso umständlich?
string.Split(' ').ToList(); und schon haste deine Liste.
xFight schrieb am 15.06.2011:
Wieso nimmt man nicht einfach eine Liste? Die Antwort ist ganz einfach, ein Array ist deutlich schneller als Listen. Bei modernen Computern macht dieses kaum einen Unterschied. Aber WP7 Entwickler sollten schon daran denken, dass jede Einsparung von Rechenleistung den Akku schont.
kdkunde schrieb am 24.06.2011:
Ich bezeifle, dass ein Array immer schneller ist als eine Liste. Wie im Snippet zu sehen wird für die Größenänderung das komplette Array kopiert. Das macht wahrscheinlich auch Array.Resize so. Wenn das Array sehr gross ist oder sich die Grösse des Arrays oft ändert, kann es durchaus sein, dass eine Liste effektiver ist.
 

Logge dich ein, um hier zu kommentieren!