Heim >Backend-Entwicklung >C++ >Was ist der effizienteste Weg, Arrays in C# zu verketten?

Was ist der effizienteste Weg, Arrays in C# zu verketten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-17 07:02:09474Durchsuche

What's the Most Efficient Way to Concatenate Arrays in C#?

Effiziente Verbindungsmethode des C#-Arrays

Das Verketten von Arrays ist eine häufige Aufgabe in der Programmierung, bei der die Elemente von zwei oder mehr Arrays zu einem neuen Array kombiniert werden. In C# bietet die Concat-Methode eine praktische Möglichkeit, Arrays zu verketten, ist jedoch möglicherweise nicht die effizienteste Lösung für große Arrays.

Eine alternative Methode

Um Arrays effizienter zu verketten, besteht eine Alternative darin, die Elemente jedes Arrays manuell in ein neues Array mit geeigneter Größe zu kopieren:

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

Diese Methode erstellt ein neues Array mit dem Namen z mit einer Größe, die der Summe der Längen von x und y entspricht. Kopieren Sie dann die Elemente von x beginnend mit Index 0 nach z und dann die Elemente von y beginnend mit Index x.Length (d. h. der Position nach dem letzten Element von x) nach zMitte.

Anwendungsbeispiel

Betrachten Sie das folgende Beispiel:

<code class="language-csharp">int[] x = { 1, 2, 3 };
int[] y = { 4, 5 };

var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);

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

Dieser Code erstellt ein neues Array x, das alle Elemente von y und z enthält, und die Behauptung überprüft, ob die Elemente korrekt verbunden sind.

Leistungsvergleich

Benchmarks zeigen, dass diese Alternative für große Arrays effizienter ist als der Concat Ansatz. Mit zunehmender Arraygröße wird der Leistungsunterschied deutlicher.

Fazit

Während die Concat-Methode eine übersichtliche Möglichkeit zur Verkettung von Arrays bietet, ist sie möglicherweise nicht die effizienteste Lösung für große Arrays. Für solche Szenarien bietet das manuelle Kopieren von Arrays eine schnellere und effizientere Alternative.

Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, Arrays in C# zu 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