Découvrez, par lambda, si une liste contient une autre valeur de la liste
Comment puis-je faire cela par lambda? Pour savoir si les deux listes ont la même valeur(s).
void Main()
{
var list1 = new List<string>{
"a", "b", "c"
};
var list2 = new List<string>{
"c", "d", "e"
};
bool listsHaveSameValue = false;
foreach(var list1Value in list1){
listsHaveSameValue = list2.Any(c => c.Equals(list1Value));
if(listsHaveSameValue){
break;
}
}
Debug.WriteLine(listsHaveSameValue.ToString());
}
Êtes-vous essayer de déterminer si les listes ont tous les mêmes valeurs (c'est à dire, des listes identiques, mais permettant de des ordres différents)? Si la liste 2 a toutes les valeurs de la liste 1 n'? Ou si elles ont au moins 1 point en commun?
Quelle est votre motivation pour exiger un lambda?
Votre code vérifie uniquement la dernière Valeur.
Dans ces 7 réponses, aucun on n'a même pas vous aider?
Motivation pour l'utilisation de lambda expression est de rendre le code plus court, sans besoin de boucle de l'autre liste.
Quelle est votre motivation pour exiger un lambda?
Votre code vérifie uniquement la dernière Valeur.
Dans ces 7 réponses, aucun on n'a même pas vous aider?
Motivation pour l'utilisation de lambda expression est de rendre le code plus court, sans besoin de boucle de l'autre liste.
OriginalL'auteur RootNode | 2013-01-14
Vous devez vous connecter pour publier un commentaire.
Vous devriez regarder dans
Intersect
.En fait il n'y a pas de réel besoin d'utiliser une lambda (comme vous l'avez demandé).
OriginalL'auteur Aphelion
votre devez utiliser Se croisent
list3 contient les éléments qui se produisent dans les deux listes
OriginalL'auteur boindiil
Cela permettra de vérifier l'existence d'au moins un élément en commun.
OriginalL'auteur Alex Filipovici
doit retourner true ou false.
OriginalL'auteur Yiğit Yener
Essayez d'utiliser
Énumérable.Intersect
méthodeIci est un
DÉMO
.OriginalL'auteur Soner Gönül
Vous sont effectivement à la recherche de la dernière valeur.
Pour déterminer si tous les éléments sont de même (indépendamment de l'ordre dans la liste)
Vous devez utiliser
au lieu de
L'un des Linq façon de déterminer si
list1
etlist2
ont même des éléments est d'utiliserSequenceEqual
Je comprends, mais une partie de la question est "Comment puis-je le faire en lambda?" et la logique "ce" est faux
Votre première ligne n'a toujours aucun sens. Dans l'exemple ci-dessus, l'élément en commun se trouve être le dernier élément de la liste 1, mais nulle part la question n'indiquent que la personne veut juste vérifier si le dernier élément correspond.
Je suis d'accord avec vous et supprimé première ligne
OriginalL'auteur Tilak