Zwei Arrays zusammenführen in C#
-
Zusammenführen von zwei Arrays mit der Methode
Array.Copy()
inC#
-
Zusammenführen zweier Arrays mit der Methode
Array.Resize()
inC#
-
Zusammenführen zweier Arrays mit der LINQ-Methode 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.
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