Comparer les tableaux en C#

Saad Aslam 12 octobre 2023
  1. Utilisez la fonction SequenceEqual() pour comparer des tableaux en C#
  2. Comparer les éléments correspondants pour comparer les tableaux en C#
Comparer les tableaux en C#

Cet article discutera de la comparaison de deux tableaux pour voir s’ils sont égaux.

Les deux méthodes que nous allons discuter et mettre en œuvre pour comparer les tableaux sont,

  • la fonction SequenceEqual() ;
  • comparaison des éléments appariés dans chacun des tableaux.

Si deux tableaux ont les mêmes éléments correspondants et le même nombre d’éléments, ils sont dits égaux.

Utilisez la fonction SequenceEqual() pour comparer des tableaux en C#

Tout d’abord, nous devons importer la bibliothèque pour accéder à la fonction SequenceEqual().

using System.Linq;

Créez une classe ArrayCompare avec la fonction Main() à l’intérieur.

class ArrayCompare {
  static void Main(string[] args) {}
}

Déclarez la variable isEqual en tant que variable de type booléen. Il renverra True ou False selon que les tableaux sont égaux ou non.

Boolean isEqual;

Initialisez deux tableaux de type de données int[] nommés firstArray et secondArray, et affectez-leur des valeurs entières à comparer.

int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };

Nous allons utiliser la méthode SequenceEqual() pour comparer ces deux tableaux.

isEqual = firstArray.SequenceEqual(secondArray);

Maintenant que nous avons une valeur vraie ou fausse enregistrée dans la variable isEqual, nous devons vérifier ce qu’elle renvoie. Si la valeur retournée est True, il exécutera le bloc if, et si la valeur retournée est False, il exécutera le bloc else.

if (isEqual) {
  Console.WriteLine("Both the arrays are equal");
} else {
  Console.WriteLine("Both the arrays are not equal");
}

Code source:

using System;
using System.Linq;

class ArrayCompare {
  static void Main(string[] args) {
    Boolean isEqual;
    int[] firstArray = { 10, 20, 30, 40, 40, 50 };
    int[] secondArray = { 10, 20, 30, 40, 40, 50 };
    isEqual = firstArray.SequenceEqual(secondArray);
    if (isEqual) {
      Console.WriteLine("Both the arrays are equal.");
    } else {
      Console.WriteLine("Both the arrays are not equal.");
    }
  }
}

Lorsque les deux tableaux sont égaux,

Production:

Both the arrays are equal.

Supposons que nous modifions n’importe quel élément du firstArray en,

int[] firstArray = { 10, 20, 30, 40, 30, 60 };

Production:

Both the arrays are not equal.

Comparer les éléments correspondants pour comparer les tableaux en C#

Nous allons créer une variable booléenne et définir sa valeur sur true dans la fonction Main().

Boolean isEqual = true;

Initialisez deux tableaux de la même manière que la méthode précédente.

int[] firstArray = { 10, 20, 30, 40, 40, 50 };
int[] secondArray = { 10, 20, 30, 40, 40, 50 };

Nous devons déterminer la longueur des deux tableaux. De plus, pour être égales, toutes les valeurs d’index doivent être identiques.

Appliquons donc une condition pour s’assurer que les longueurs de firstArray et secondArray sont égales. S’il renvoie True, nous devons valider les valeurs à tous les index ; sinon, la valeur isEqual sera fausse.

Pour vérifier l’égalité de tous les index des tableaux, nous allons utiliser une boucle for, commençant à l’index 0 et itérant sur toute la longueur de secondArray. Il vérifiera les valeurs de tous les index, et s’ils ne sont pas tous identiques, il définira la valeur de isEqual sur False.

if (firstArray.Length == secondArray.Length) {
  for (int y = 0; y < secondArray.Length; y++) {
    if (secondArray[y] != firstArray[y]) {
      isEqual = false;
    }
  }
} else {
  isEqual = false;
}

Enfin, nous devons afficher le message indiquant si les tableaux sont égaux.

if (isEqual) {
  Console.WriteLine("The arrays are equal");
} else {
  Console.WriteLine("The arrays are not equal");
}

Code source:

using System;

class ArrayCompare {
  static void Main(string[] args) {
    Boolean isEqual = true;
    int[] firstArray = { 10, 20, 30, 40, 40, 50 };
    int[] secondArray = { 10, 20, 30, 40, 40, 50 };
    if (firstArray.Length == secondArray.Length) {
      for (int y = 0; y < secondArray.Length; y++) {
        if (secondArray[y] != firstArray[y]) {
          isEqual = false;
        }
      }
    } else {
      isEqual = false;
    }
    if (isEqual) {
      Console.WriteLine("Both the arrays are equal.");
    } else {
      Console.WriteLine("Both the arrays are not equal.");
    }
  }
}

Lorsque les deux tableaux sont égaux,

Production:

Both the arrays are equal.

Si nous modifions n’importe quel élément dans deux tableaux,

Production:

Both the arrays are not equal.
Auteur: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Article connexe - Csharp Array