Expression Lambda pour filtrer une liste de la liste des articles
J'ai une liste de liste d'éléments et je me demandais si quelqu'un pouvait m'aider avec une expression lambda pour filtrer cette liste.
Voici ce que ma liste ressemble à ceci:
List<List<Item>> myList = ExtractList();
Voici ce que ma classe de l'Élément ressemble:
public class Item {
public string Name {get;set;}
public string Action {get;set;}
}
Je voudrais filtrer cette liste et d'obtenir seulement ceux de la Liste de la Liste des Éléments pour lesquels l'Élément Nom = "ABC" et de la rubrique Action = "123".
Merci pour toute aide
Vous devriez préciser que la dernière phrase, voulez-vous une liste de listes qui contiennent ABC/123? Ou voulez-vous une liste des éléments qui contiennent ABC/123?
je voudrais une liste de listes qui contiennent abc/123
je voudrais une liste de listes qui contiennent abc/123
OriginalL'auteur zSynopsis | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Simple:
Cela vous donne tous les éléments à l'intérieur de toutes les listes.
Si vous souhaitez sélectionner des sous-listes qui contiennent l'élément à la place:
Et enfin, si vous souhaitez conserver la même structure, mais seulement de garder les éléments qui correspondent au filtre:
OriginalL'auteur Roman Starkov
Voici un qui vous obtient des listes qui contiennent au moins un élément correspondant Name = "ABC" Action = "123".
Si vous avez besoin d'une liste des éléments de la liste qui correspondent à la condition, que vous pouvez faire:
Pour aplatir la liste ci-dessus (convertir en une simple liste à la place de listes de listes), vous devrez faire un
foreach
boucle:myList.SelectMany(l => l).ToList()
.OriginalL'auteur Diego
Cela peut fonctionner;
OriginalL'auteur daryal
Je pense que la simple syntaxe LINQ est le plus facile à lire:
OriginalL'auteur code4life