Heim >Backend-Entwicklung >C++ >Wie kann ich in C# effizient neue Elemente zu einem String-Array hinzufügen?

Wie kann ich in C# effizient neue Elemente zu einem String-Array hinzufügen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-12 09:13:43632Durchsuche

How Can I Efficiently Add New Elements to a String Array in C#?

Neue Elemente zu String-Arrays in C# hinzufügen

Das effiziente Erweitern von String-Arrays in C# erfordert eine sorgfältige Prüfung der verfügbaren Methoden. Es gibt mehrere Ansätze, jeder mit seinen eigenen Stärken und Schwächen.

Die ListeLösung

Für Situationen, die eine dynamische Größenänderung erfordern, bietet ein List<string> die einfachste Lösung:

<code class="language-csharp">List<string> stringList = new List<string>();
stringList.Add("Hello");</code>

Dadurch entfällt die Notwendigkeit einer manuellen Größenänderung des Arrays und das Hinzufügen von Elementen wird vereinfacht.

Methode 1: Array.Resize

Array.Resize ändert das ursprüngliche Array an Ort und Stelle und vergrößert seine Größe, um ein neues Element aufzunehmen:

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "Orange";</code>

Dieser Ansatz ist für seltene Ergänzungen effizient, kann jedoch für häufige Änderungen weniger leistungsfähig sein.

Methode 2: Array.Copy

Diese Methode erstellt ein neues, größeres Array, kopiert die vorhandenen Elemente und fügt dann das neue Element hinzu:

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = new string[arr.Length + 1];
Array.Copy(arr, newArr, arr.Length);
newArr[newArr.Length - 1] = "Orange";</code>

Das Erstellen eines neuen Arrays verursacht zwar einen gewissen Mehraufwand, vermeidet jedoch potenzielle Leistungsprobleme, die mit wiederholter Größenänderung verbunden sind.

Methode 3: LINQs Concat

LINQ bietet eine übersichtliche Möglichkeit, Elemente mit Concat:

anzuhängen
<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = arr.Concat(new[] { "Orange" }).ToArray();</code>

Dies ist elegant, aber aufgrund des Overheads von LINQ-Operationen möglicherweise etwas weniger effizient als Array.Copy für sehr große Arrays.

Optimale Ansatzauswahl

Die beste Methode hängt von Ihren spezifischen Bedürfnissen ab. List<string> ist ideal für dynamische Arrays mit häufigem Hinzufügen und Entfernen. Für statische Arrays mit seltenen Änderungen sind Array.Resize oder Array.Copy geeignete Optionen. LINQs Concat bietet eine saubere Syntax, kann jedoch bei extrem großen Arrays zu leichten Leistungseinbußen führen.

Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient neue Elemente zu einem String-Array hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn