Steigerung der C#-Array-Verkettungsleistung: Eine überlegene Alternative zu Concat
Die Concat
-Methode von C# bietet eine einfache Lösung zum Verbinden von Arrays. Allerdings kann die Leistung bei großen Arrays suboptimal sein. Für eine deutlich verbesserte Effizienz bei der Array-Verkettung sollten Sie diese Alternative in Betracht ziehen:
<code class="language-csharp">int[] x = new int[] { 1, 2, 3 }; int[] y = new int[] { 4, 5 }; int[] z = new int[x.Length + y.Length]; Array.Copy(x, z, x.Length); Array.Copy(y, 0, z, x.Length, y.Length); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Diese Methode weist direkt ein neues Array z
mit ausreichender Größe zu, um sowohl x
als auch y
aufzunehmen. Anschließend nutzt es Array.Copy
, um die Elemente von x
und y
effizient in z
zu übertragen. Dadurch wird die Erstellung von Zwischenarrays vermieden, was zu einer schnelleren Ausführung führt, insbesondere bei größeren Datensätzen.
Wichtige Überlegung: Während Concat
weiterhin für kleinere Arrays geeignet bleibt, bei denen die Leistung nicht kritisch ist, bietet der obige Ansatz einen erheblichen Leistungsvorteil für Szenarien mit großen Arrays.
Das obige ist der detaillierte Inhalt vonWie kann ich die Array-Verkettung in C# für eine bessere Leistung optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!