Fusionner deux tableaux en C#

Muhammad Maisam Abbas 16 février 2024
  1. Fusionner deux tableaux avec la méthode Array.Copy() en C#
  2. Fusionner deux tableaux avec la méthode Array.Resize() en C#
  3. Fusionner deux tableaux avec la méthode LINQ en C#
Fusionner deux tableaux 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#.

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

Article connexe - Csharp Array