Vergleichen zwei Listen in C#
-
Vergleichen von Listen zum Finden von Unterschieden mit der Linq-Methode in
C#
-
Vergleichen von Listen zum Finden von Unterschieden mit der Funktion
List.Contains()
inC#
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.
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