Vergleichen zwei Listen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Vergleichen von Listen zum Finden von Unterschieden mit der Linq-Methode in C#
  2. Vergleichen von Listen zum Finden von Unterschieden mit der Funktion List.Contains() in C#
Vergleichen zwei Listen in C#

In diesem Tutorial werden Methoden zum Vergleichen von zwei Listen erläutert, um Unterschiede in C# zu finden.

Vergleichen von Listen zum Finden von Unterschieden mit der Linq-Methode in C#

Stellen Sie sich das folgende Szenario vor: Wir haben zwei Listen, list1 und list2, und wir möchten wissen, welche Elemente der list1 in list2 nicht vorhanden sind und welche Elemente von list2 in list1 nicht vorhanden sind. Dies kann mit Hilfe der Funktion Except() in Linq erfolgen. Die Linq oder sprachintegrierte Abfrage wird verwendet, um Datenstrukturen in C# abzufragen. Die Funktion Except() gibt eine Reihe von Elementen einer Liste zurück, die in der anderen Liste nicht vorhanden sind. Das folgende Codebeispiel zeigt, wie zwei Listen auf Unterschiede mit Linq in C# verglichen werden.

using System;
using System.Collections.Generic;
using System.Linq;

namespace compare_lists {
  class Program {
    static void Main(string[] args) {
      List<int> list1 = new List<int> { 1, 1, 2, 3, 4 };
      List<int> list2 = new List<int> { 3, 4, 5, 6 };
      List<int> firstNotSecond = list1.Except(list2).ToList();
      var secondNotFirst = list2.Except(list1).ToList();
      Console.WriteLine("Present in List1 But not in List2");
      foreach (var x in firstNotSecond) {
        Console.WriteLine(x);
      }
      Console.WriteLine("Present in List2 But not in List1");
      foreach (var y in secondNotFirst) {
        Console.WriteLine(y);
      }
    }
  }
}

Ausgabe:

Present in List1 But not in List2
1
2
Present in List2 But not in List1
5
6

Wir haben die Listen list1 und list2 auf ihre Unterschiede im obigen Code verglichen. Wir haben zuerst die Elemente in list1, aber nicht in list2 in der neuen Liste firstNotSecond gespeichert. Wir haben dann die Elemente in list2, aber nicht in list1 in der neuen Liste secondNotFirst gespeichert. Am Ende haben wir die Elemente der Listen firstNotSecond und secondNotFirst gedruckt. Der einzige Nachteil ist, dass alle sich wiederholenden Werte in einer Liste, die in der anderen Liste nicht vorhanden sind, nur einmal gedruckt werden.

Vergleichen von Listen zum Finden von Unterschieden mit der Funktion List.Contains() in C#

Mit der Funktion List.Contains() wird bestimmt, ob ein Element in einer Liste in C# vorhanden ist oder nicht. Die Funktion List.Contains(x) gibt true zurück, wenn das Element x in der Liste vorhanden ist, und false, wenn das Element x nicht vorhanden ist. Wir können die Methode List.Contains() mit Linq verwenden, um zu bestimmen, welche Elemente in einer Liste und nicht in der anderen vorhanden sind. Das folgende Codebeispiel zeigt uns, wie wir zwei Listen auf Unterschiede mit der Funktion List.Contains() in C# vergleichen können.

using System;
using System.Collections.Generic;
using System.Linq;

namespace compare_lists {
  class Program {
    static void Main(string[] args) {
      List<int> list1 = new List<int> { 1, 2, 3, 4 };
      List<int> list2 = new List<int> { 3, 4, 5, 6 };
      var firstNotSecond = list1.Where(i => !list2.Contains(i)).ToList();
      var secondNotFirst = list2.Where(i => !list1.Contains(i)).ToList();
      Console.WriteLine("Present in List1 But not in List2");
      foreach (var x in firstNotSecond) {
        Console.WriteLine(x);
      }
      Console.WriteLine("Present in List2 But not in List1");
      foreach (var y in secondNotFirst) {
        Console.WriteLine(y);
      }
    }
  }
}

Ausgabe:

Present in List1 But not in List2
1
1
2
Present in List2 But not in List1
5
6

Wir haben die Listen list1 und list2 auf ihre Unterschiede im obigen Code verglichen. Wir haben zuerst die in list1 vorhandenen Elemente, aber nicht in list2 in der neuen Liste firstNotSecond gespeichert. Wir haben dann die Elemente, die in list2, aber nicht in list1 vorhanden waren, in der neuen Liste secondNotFirst gespeichert. Am Ende haben wir die Elemente der Listen firstNotSecond und secondNotFirst gedruckt. Hier wird die Ausgabe so oft wiederholt wie der Wiederholungswert. Diese Methode sollte der vorherigen Methode vorgezogen werden, wenn wir die Wiederholung von Werten in Betracht ziehen möchten.

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 List