J'utilise une expression lamda pour filtrer une requête.C# Lambda Expression ne renvoyant pas le résultat attendu
Fondamentalement, j'ai des lignes qui sont composées de segments et ces segments sont marqués comme supprimés, insérés ou null.
Ce que je veux retourner sont les segments qui ont été marqués comme supprimés mais dont les frères et sœurs N'EST PAS marqué comme supprimé. À titre d'exemple,
Line: "Soylent Green is people!" Broken into 2 segments...
Segment 1: "Soylent Green " (marked as deleted)
Segment 2: "is people!" (not marked as deleted)
devrait me revenir Segment 1. Mais l'exemple suivant,
Line: "Open the pod bay doors Hal!" Broken into 3 segments...
Segment 1: "Open the " (marked as deleted)
Segment 2: "pod bay " (marked as deleted)
Segment 3: "doors Hal!" (marked as deleted)
de ne pas retourner tous les segments. Voir le code ci-dessous:
return seg => seg.ModType == Deleted &&
seg.Line.Segments.Any(segs => segs.ID != seg.ID &&
segs.ModType != Deleted);
Merci et je vous remercie de toute aide ou suggestion pourquoi cela ne fonctionne pas.
Vous ne nous avez pas montré assez pour dire vraiment. Quel est le "ID" ici? Veuillez fournir un programme court mais * complet * pour démontrer le problème. Je soupçonne dès que nous pouvons le reproduire, nous trouverons le problème facilement. Je * suggérerais qu'avoir "seg" et "segs" est une recette pour la confusion. –
Etes-vous certain que la collection Line.Segments est correcte? – womp
Veuillez publier un programme complet, mais court, qui peut être compilé et exécuté pour reproduire votre problème. Cela nous aidera à vous aider en nous donnant du code que nous pourrons déboguer et modifier afin d'obtenir les résultats souhaités. –