Ich muss die Methode für jedes Element in der Liste aufrufen. So habe ich Where<>
Abfrage wie folgt verwendet,Prädikat in einer Where <> Abfrage nicht getroffen?
List<string> list = new List<string>();
list.Add("Name1");
list.Add("Name2");
list.Add("Name3");
var name = list.Where(n =>
{
return CheckName(n);
});
Aber im obigen Fall wird CheckName()
nicht getroffen. Die gleiche Methode wird ausgelöst, wenn ich FirstOrDefault<>
verwende. Ich weiß nicht, ob es sich um eine Rahmenpause handelt oder ich verfahre falsch.
Als zusätzliche Informationen verwende ich .NET Framework 4.5.
Hat jemand diesen Fehler erlebt? Wenn ja, gibt es eine Lösung, um dieses Problem zu lösen?
Verzögerte Ausführung von LINQ. Wie wäre es, wenn Sie am Ende eine '.ToList()' hinzufügen? –
Die CheckName-Methode wird nur ausgeführt, wenn Sie name variabl angeben. Seine aufgerufen differed Ausführung –