Ich habe folgendes Objekt:Zustand innerhalb linQ Wo Zustand
public class Result
{
public List<Recomendation> Recomendations { get; set; }
}
public class Recomendation
{
public List<Segment> Segments { get; set; }
}
public class Segment
{
public Leg OutBound { get; set; }
public Leg InBound { get; set; }
}
public class Leg
{
public TimeSpan TotalTime { get; set; }
public string Carrier { get; set; }
public int RefNumber { get; set; }
}
Ich habe eine Liste recommendations
genannt
Ich brauche dies zu tun:
- Filter
recommendations
durch das Auftreten einer Zeichenfolgearr
inCarrier
, innerhalb entweder der ausgehenden oder der eingehenden Objekte. Ich habe versucht, dies zu tun:
Suche Inbound allein:
var filteredList = recommendations.Where(r=>r.Segments.Any(x => x.InBound.Carrier.Contains(arr))).ToList();
oder suchen Outbound allein:
var filteredList = recommendations.Where(r=>r.Segments.Any(x => x.OutBound.Carrier.Contains(arr))).ToList();
Ich möchte für das Auftreten des Strings arr
in BEIDE Inbound suchen und ausgehende.
Das Problem ist manchmal InBound kann Null oder OutBound kann Null sein. Ich möchte, dass mein linQ in beiden Fällen funktioniert.
Dies funktioniert, wenn InBound und OutBound nicht null sind. Wenn Einer von ihnen Null ist, gibt es alle Elemente in Empfehlungen zurück – HelpASisterOut
Ich musste den ersten Teil der Bedingung entfernen: x.Inbound == null || x.Outbound == null. überprüfe meine Antwort. Vielen Dank. – HelpASisterOut
@HelpASisterOut Ich dachte, Sie benötigten, wenn Inbound und Outbound Null war – raven