Ich versuche, die LINQ to Objekte Abfrage auszuführen, wie folgt:Wie kann ich den bedingten Nulloperator verwenden, um nach Nullstring zu suchen?
var c1 = allCustomers
.Where(x => x.CompanyName.Replace("'", "").StartsWith(searchText))
.ToList();
Dies funktioniert gut, solange Company nicht null ist.
Also, ich dachte, dies scheint der perfekte Ort für den neuen Null bedingten Operator! Ändern Sie einfach zu:
var c1 = allCustomers
.Where(x => x.CompanyName?.Replace("'", "").StartsWith(searchText))
.ToList();
und alles sollte funktionieren!
Stattdessen erhalte ich die Fehlermeldung:
Cannot implicitly convert type 'bool?' to 'bool'. An explicit conversion exists (are you missing a cast?)
ich nicht ganz sicher bin, wie zu erreichen, was ich hier will. Wie würde ich die Nullbedingung in diesem Szenario verwenden?
ack, lege ich mein auf der Saite anstelle des Bool. Ich denke mein wird funktionieren, aber die? falsche Versionen sind besser. –
Ja, die anderen 2 werden einen Kurzschluss auf dem.? und einfach falsch zurückgeben. – Scottie
ich interpretierte das Frage-Tool wörtlich auf den "Check für Null String" -Teil, nicht auf den 'bool? ' Teil in den Details. –