Confrontare due liste in C#
-
Confronta gli liste per trovare le differenze con il metodo Linq in
C#
-
Confronta gli liste per trovare le differenze con la funzione
List.Contains()
inC#
Questo tutorial discuterà i metodi per confrontare due liste per trovare le differenze in C#.
Confronta gli liste per trovare le differenze con il metodo Linq in C#
Considera il seguente scenario, abbiamo 2 liste, list1
e list2
, e vogliamo sapere quali elementi della list1
non sono presenti in list2
e quali elementi di list2
non sono presenti in list1
. Può essere fatto con l’aiuto della funzione Except()
in Linq. La query Linq o integrata nel linguaggio viene utilizzata per eseguire query sulle strutture dati in C#. La funzione Except()
restituisce un insieme di elementi di una lista non presenti nell’altra lista. L’esempio di codice seguente mostra come confrontare due liste per le differenze con Linq in C#.
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);
}
}
}
}
Produzione:
Present in List1 But not in List2 1 2 Present in List2 But not in List1 5 6
Abbiamo confrontato le liste list1
e list2
per le loro differenze nel codice di cui sopra. Per prima cosa abbiamo memorizzato gli elementi presenti in list1
ma non in list2
nella nuova lista firstNotSecond
. Abbiamo quindi memorizzato gli elementi presenti in list2
ma non in list1
nella nuova lista secondNotFirst
. Alla fine, abbiamo stampato gli elementi di entrambi gli liste firstNotSecond
e secondNotFirst
. L’unico inconveniente è che tutti i valori ripetuti in una lista che non sono presenti nell’altro elenco verranno stampati solo una volta.
Confronta gli liste per trovare le differenze con la funzione List.Contains()
in C#
La funzione List.Contains()
viene utilizzata per determinare se un elemento è presente in una lista o meno in C#. La funzione List.Contains(x)
restituisce true se l’elemento x
è presente nella lista e restituisce false se l’elemento x
non è presente. Possiamo usare il metodo List.Contains()
con Linq per determinare quali elementi sono presenti in una lista e non nell’altra. Il seguente esempio di codice ci mostra come possiamo confrontare due liste per le differenze con la funzione List.Contains()
in C#.
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);
}
}
}
}
Produzione:
Present in List1 But not in List2 1 1 2 Present in List2 But not in List1 5 6
Abbiamo confrontato le liste list1
e list2
per le loro differenze nel codice di cui sopra. Per prima cosa abbiamo memorizzato gli elementi presenti in list1
ma non in list2
nella nuova lista firstNotSecond
. Abbiamo quindi memorizzato gli elementi che erano presenti in list2
ma non in list1
nella nuova lista secondNotFirst
. Alla fine, abbiamo stampato gli elementi di entrambi gli liste firstNotSecond
e secondNotFirst
. Qui, l’output viene ripetuto tante volte quanto il valore di ripetizione. Questo metodo dovrebbe essere preferito rispetto al metodo precedente se vogliamo considerare la ripetizione di valori.
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