Heim >Backend-Entwicklung >C++ >Wie kann ich in C# effizient neue Elemente zu einem String-Array hinzufügen?
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 Liste
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
:
<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!