Arrays in C# effizient verbinden
Bei der Arbeit mit Arrays in C# müssen Sie häufig Arrays kombinieren oder verketten, um ein einziges größeres Array zu bilden. Obwohl es mehrere Möglichkeiten gibt, diese Aufgabe zu erfüllen, ist es entscheidend, die effizienteste und geeignetste Methode zu wählen. Eine häufige Frage ist:
Wie verkettet man zwei große Arrays in C# mit einer effizienteren Methode als Concat()?
Betrachten Sie das folgende Array:
<code class="language-c#">int[] x = new int[] { 1, 2, 3 }; int[] y = new int[] { 4, 5 }; int[] z = // 你的答案在这里... Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
Obwohl die Concat()-Methode zur Array-Verkettung verwendet werden kann, wird ihre Effizienz bei großen Arrays verringert. Um dieses Problem zu lösen, besteht eine effizientere Möglichkeit darin, ein neues Array mit entsprechender Kapazität zu erstellen und die Elemente aus beiden Arrays manuell in das neue Array zu kopieren:
<code class="language-c#">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
Diese Methode erfordert keine Erstellung von Zwischensammlungen, wodurch die Leistung verbessert wird. Es eignet sich besonders für große Arrays, bei denen der Overhead der Concat()-Methode offensichtlicher ist.
Das obige ist der detaillierte Inhalt vonWie verkettet man große Arrays in C# effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!