Heim >Backend-Entwicklung >C++ >Wie kann ich Arrays in C# effizient verketten?

Wie kann ich Arrays in C# effizient verketten?

Linda Hamilton
Linda HamiltonOriginal
2025-01-17 06:47:10179Durchsuche

How Can I Efficiently Concatenate Arrays in C#?

Array-Verkettung in C# optimieren

Das Kombinieren von Arrays in C# ist eine häufige Aufgabe. Die Concat-Methode bietet eine einfache Lösung:

<code class="language-csharp">int[] x = { 1, 2, 3 };
int[] y = { 4, 5 };
int[] z = x.Concat(y).ToArray();

Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>

Die Leistung von Concat nimmt jedoch bei größeren Arrays merklich ab (wie in „Array-Verkettung in C#“ erläutert, nimmt die Leistung ab 10.000 Elementen erheblich ab).

Eine leistungsstärkere Alternative

Für eine verbesserte Effizienz, insbesondere bei großen Arrays, bietet ein manueller Ansatz einen erheblichen Vorteil. Dazu gehört das Erstellen eines neuen Arrays mit der richtigen Größe und das direkte Kopieren von Elementen:

<code class="language-csharp">var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);</code>

Diese Methode vermeidet den mit Concat verbundenen Overhead, was zu einer schnelleren Verkettung führt, insbesondere bei großen Datensätzen. Obwohl es etwas ausführlicher ist, ist es aufgrund der Leistungssteigerung eine bevorzugte Wahl für die Array-Manipulation in größerem Maßstab.

Das obige ist der detaillierte Inhalt vonWie kann ich Arrays in C# effizient verketten?. 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