Ich habe etwas ziemlich merkwürdiges gefunden (denke ich!). Wenn ich versuche, einen Haltepunkt in die yes () -Methode zu setzen, wird das Programm niemals angehalten, wenn es die Funktion ausführt. Wenn ich versuche, dasselbe mit jeder anderen Codezeile zu tun, wird es wie erwartet funktionieren. Ist es ein Fehler oder gibt es etwas, das mir entgeht?
Der Filter wird die 2 Objekte zurückgeben, alles scheint wie erwartet zu funktionieren, außer dem Debugger.
%Vor%Enumerable.Where ist ein träger Operator - bis Sie etwas aufrufen, das IEnumerable durch where (dh Aufruf von .ToList () darauf) durchläuft, wird Ihre Funktion nicht aufgerufen.
Versuchen Sie, Ihren Code zu ändern und zu sehen, ob er aufgerufen wird:
%Vor%Wie andere schon gesagt haben, haben Sie gerade Ihre Kriterien definiert, aber nicht zur Ausführung aufgefordert. Das nennt man faules Laden (Leute, korrigiert mich, wenn ich falsch liege).
Führen Sie eine foreach-Schleife auf dem Filter aus, um zu sehen, was passiert.
Jonathan hat Recht.
Versuchen Sie, diese Konsolenanwendung auszuführen, und legen Sie dort Haltepunkte fest, um sie deutlich zu sehen.
%Vor%Tags und Links c# debugging list breakpoints delegates