Hier sind zwei C# -Klassen ...Was macht diese LINQ-Abfrage?
public class Address
{
public string Country;
public string City;
}
public class Traveller
{
public string Name;
public List<Address> TravelRoute;
}
... und eine Liste von Daten (gefüllt irgendwo) ...
List<Traveller> Travellers;
... und dann diese LINQ-Abfrage:
Ich verstehe die Abfrage nicht: Was bedeutet die "Any" -Funktion und was macht der "=>" Operator?
Kann mir jemand erklären, was in diesem Code ist los? Vielen Dank!
Also, bedeutet es, dass dieser "Lambda-Ausdruck" nur eine Abkürzung für eine andere "verschachtelte" LINQ-Abfrage ist? Nur etwas Code kompakter zu schreiben? – Slauma
Lambda-Ausdruck, auch als Inline-Ausdruck bekannt, wird normalerweise für eine einmalige Funktion geschrieben und ist normalerweise kompakter. Sie müssen keinen Typ für das Argument angeben, da dies zu einer Ableitung führt. Ich sage ja, Sie können es durch eine verschachtelte LINQ ersetzen, aber ich kenne LINQ nicht genug, um zu sagen, dass das Schreiben der LINQ, die ich in einem anderen LINQ geschrieben habe, genau so funktioniert. –
Um genauer zu sein, kann der Lambda-Ausdruck auch in einen Ausdrucksbaum übersetzt werden, der vom LINQ-Provider verwendet wird, um ihn in einen anderen Codeabschnitt wie einen SQL-Ausdruck zu übersetzen. –