Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1562 | Anzahl registrierter User: 1893 | Besucher online: 571
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Array zur Laufzeit erweitern


Autor: EffEff
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 4005
  
Kick it on dotnet-kicks.de  

Beschreibung:

Eine einfache Funktion die ein bereits definiertes Array um ein Element erweitert.

Abgelegt unter: Array, Laufzeit, erweitern, generisch.



C#
1
2
3
4
5
6
7
8
9
10
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;
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Legion schrieb am:  19.04.2011 17:54:06

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 19:27:22

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 21:36:02

Keine Ursache ;)
Christopher Kk schrieb am:  21.04.2011 20:33:13

Die Frage die sich mir da stellt:
Warum benutzt du nicht eine List<string>?
Legion schrieb am:  21.04.2011 21:40:55

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 22:31:31

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 19:05:01

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 20:03:25

Wieso umständlich?
string.Split(' ').ToList(); und schon haste deine Liste.
xFight schrieb am:  15.06.2011 21:48:38

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 15:01:01

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.


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Doppelte Einträge aus Arraylist löschen
[C#] Convert an ArrayList into an array
[C#] String in Byte Array und zurück wandeln
[C#] Bitmap in Byte Array schreiben
[C#] Arraylist in Textdatei schreiben
[C#] Wandelt ein Bytearray in einen Binärstring
[C#] BubbleSort Verfahren / Algorithmus
[VB.NET] Dateien nach Datum sortieren
[C#] Typ der Elemente in einem Array herausfinden
[VB.NET] Rows eines DataGridView in ein String-Array konvertieren
[VB.NET] Doppelte Arrayeinträge mit linearem Aufwand entfernen
[VB.NET] String in Byte Array und zurück wandeln
[VB.NET] Listen, Arrays, Strings konvertieren
[VB.NET] Textdatei lesen und schreiben (String, StringArray, etc...)
[VB.NET] List all controls by using the name of the controls
[C#] Datei einlesen und als ArrayList jede Zeile zurückliefern
[C#] Eine allgemeine Liste (IEnumerable) in ein Array umwandeln
[C#] long in ein byte-Array kopieren
[C#] Byte-Array in Struktur kopieren
[C#] Kleine Array-Erweiterung
[VB.NET] Doppelte Eintäge löschen
[C#] SortingHelper - MoveUpInList & MoveDownInList
[VB.NET] Control Resize wie in der IDE auch zur Laufzeit - Extended
[C#] Attribute zur Laufzeit abfragen
[VB.NET] Ist Silverlight im Design Modus oder in der IDE (WPF)
[C#] Code zur Laufzeit kompilieren
[C#] Generische Extension zum Auslesen eines Klassen-Attributes
[C#] Controls gleichen Typs von einem Container in Winform holen
[C#] Threadsicheres Zuweisen von Control-Eigenschaften
[C#] Generische Klasse die Objekte für eine ComboBox kapselt
[C#] Selektieren eines gekapselten Eintrags aus der ComboBox

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.