Fusionner deux tableaux en C#
-
Fusionner deux tableaux avec la méthode
Array.Copy()
enC#
-
Fusionner deux tableaux avec la méthode
Array.Resize()
enC#
-
Fusionner deux tableaux avec la méthode LINQ en
C#
Ce didacticiel abordera les méthodes de fusion de deux tableaux en C#.
Fusionner deux tableaux avec la méthode Array.Copy()
en C#
La méthode Array.Copy()
copie une plage d’éléments d’un tableau à un autre. Nous pouvons utiliser la méthode Array.Copy()
pour copier les éléments des deux tableaux dans un troisième tableau fusionné. L’exemple de code suivant nous montre comment fusionner deux tableaux avec la méthode Array.Copy()
en C#.
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);
}
}
}
}
Production:
1 2 3 4 5 6
Dans le code ci-dessus, nous avons initialisé 2 tableaux de valeurs entières arr1
et arr2
. Nous avons déclaré un troisième tableau arr3
pour contenir les éléments combinés de arr1
et arr2
. La longueur du tableau arr3
est la somme des longueurs des tableaux arr1
et arr2
. Ensuite, nous avons copié le contenu des tableaux arr1
et arr2
dans le tableau arr3
avec la méthode Array.Copy()
en C#.
Fusionner deux tableaux avec la méthode Array.Resize()
en C#
Dans l’exemple précédent, nous devons créer un troisième tableau séparé pour stocker les valeurs fusionnées des deux tableaux. Si nous voulons atteindre cet objectif sans créer un autre tableau, nous devons utiliser la méthode Array.Resize()
sur l’un des deux tableaux. La méthode Array.Resize()
permet de redimensionner un tableau unidimensionnel en C#. La méthode Array.Resize()
prend comme arguments la référence au tableau et la taille désirée et redimensionne le tableau. L’exemple de code suivant nous montre comment fusionner deux tableaux avec la méthode Array.Resize()
en C#.
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);
}
}
}
}
Production:
1 2 3 4 5 6
Nous avons initialisé 2 tableaux de valeurs entières, arr1
et arr2
. Nous avons ensuite redimensionné le tableau arr1
pour contenir les valeurs de arr1
et arr2
avec la méthode Array.Resize()
. Nous avons ensuite copié les éléments de arr2
dans arr1
avec la méthode Array.Copy()
en C#.
Fusionner deux tableaux avec la méthode LINQ en C#
La requête intégrée LINQ ou langage intègre la fonctionnalité de requête dans les structures de données en C#. Nous pouvons utiliser la fonction Concat()
pour fusionner les éléments de deux tableaux. La fonction Concat(x)
concatène les éléments du paramètre x
à la fin de l’objet appelant en C#. On peut alors utiliser la fonction ToArray()
pour convertir le résultat en tableau. L’exemple de code suivant nous montre comment nous pouvons fusionner deux tableaux avec la méthode LINQ en C#.
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);
}
}
}
}
Production:
1 2 3 4 5 6
Nous avons initialisé 2 tableaux de valeurs entières, arr1
et arr2
. Nous avons ensuite concaténé les éléments du tableau arr2
à la fin du tableau arr1
avec la méthode Array.Concat()
. Nous avons ensuite converti le résultat de cette opération en tableau avec la fonction ToArray()
en C#.
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