Zwei Arrays zusammenführen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Zusammenführen von zwei Arrays mit der Methode Array.Copy() in C#
  2. Zusammenführen zweier Arrays mit der Methode Array.Resize() in C#
  3. Zusammenführen zweier Arrays mit der LINQ-Methode in C#
Zwei Arrays zusammenführen in C#

In diesem Lernprogramm werden die Methoden zum Zusammenführen von zwei Arrays in C# erläutert.

Zusammenführen von zwei Arrays mit der Methode Array.Copy() in C#

Die Methode Array.Copy() kopiert eine Reihe von Elementen von einem Array in ein anderes. Wir können die Methode Array.Copy() verwenden, um die Elemente beider Arrays in ein drittes zusammengeführtes Array zu kopieren. Das folgende Codebeispiel zeigt, wie zwei Arrays mit der Methode Array.Copy() in C# zusammengeführt werden.

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int[] arr3 = new int[arr1.Length + arr2.Length];
      Array.Copy(arr1, arr3, arr1.Length);
      Array.Copy(arr2, 0, arr3, arr1.Length, arr2.Length);
      foreach (var e in arr3) {
        Console.WriteLine(e);
      }
    }
  }
}

Ausgabe:

1
2
3
4
5
6

Im obigen Code haben wir 2 Arrays mit ganzzahligen Werten arr1 und arr2 initialisiert. Wir haben ein drittes Array arr3 deklariert, das die kombinierten Elemente von arr1 und arr2 enthält. Die Länge des Arrays arr3 ist die Summe der Längen der Arrays arr1 und arr2. Dann haben wir den Inhalt der Arrays arr1 und arr2 in das Array arr3 mit der Methode Array.Copy() in C# kopiert.

Zusammenführen zweier Arrays mit der Methode Array.Resize() in C#

Im vorherigen Beispiel müssen wir ein separates drittes Array erstellen, um die zusammengeführten Werte beider Arrays zu speichern. Wenn wir dieses Ziel erreichen wollen, ohne ein anderes Array zu erstellen, müssen wir die Methode Array.Resize() für eines der beiden Arrays verwenden. Mit der Methode Array.Resize() wird die Größe eines eindimensionalen Arrays in C# geändert. Die Methode Array.Resize() verwendet den Verweis auf das Array und die gewünschte Größe als Argumente und ändert die Größe des Arrays. Das folgende Codebeispiel zeigt, wie zwei Arrays mit der Methode Array.Resize() in C# zusammengeführt werden.

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int array1OriginalLength = arr1.Length;
      Array.Resize<int>(ref arr1, array1OriginalLength + arr2.Length);
      Array.Copy(arr2, 0, arr1, array1OriginalLength, arr2.Length);
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

Ausgabe:

1
2
3
4
5
6

Wir haben 2 Arrays mit ganzzahligen Werten initialisiert, arr1 und arr2. Anschließend haben wir die Größe des Arrays arr1 so geändert, dass die Werte von arr1 und arr2 mit der Methode Array.Resize() gespeichert werden. Anschließend haben wir die Elemente von arr2 in arr1 mit der Methode Array.Copy() in C#.

Zusammenführen zweier Arrays mit der LINQ-Methode in C#

Die LINQ oder sprachintegrierte Abfrage integriert die Abfragefunktionalität in Datenstrukturen in C#. Mit der Funktion Concat() können wir die Elemente zweier Arrays zusammenführen. Die Funktion Concat(x) verkettet die Elemente des Parameters x am Ende des aufrufenden Objekts in C#. Wir können dann die Funktion ToArray() verwenden, um das Ergebnis in ein Array zu konvertieren. Das folgende Codebeispiel zeigt uns, wie wir zwei Arrays mit der LINQ-Methode in C# zusammenführen können.

using System;
using System.Linq;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      arr1 = arr1.Concat(arr2).ToArray();
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

Ausgabe:

1
2
3
4
5
6

Wir haben 2 Arrays mit ganzzahligen Werten initialisiert, arr1 und arr2. Anschließend haben wir die Elemente des Arrays arr2 am Ende des Arrays arr1 mit der Methode Array.Concat() verkettet. Wir haben dann das Ergebnis dieser Operation in ein Array mit der Funktion ToArray() in C# konvertiert.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Array