Linq-if/else-Bedingung?
Ich weiß, das wird wahrscheinlich eine newbie-Frage. Gibt es eine Möglichkeit, wählen Sie verschiedene such-Kriterien, je nach der bool-Wert? Später im code möchte ich mit einer Schleife durch das Objekt (alDisabledPrograms). Ich kenne die if/else ist nicht korrekt, ich sage es, um zu zeigen, wie gerne würde ich, die behandelt werden. Ich habe versucht, dies in einem größeren if-else-Bedingung aber nicht in der Lage war, um eine Schleife durch alDisabledPrograms später. Gedanken?
var alDisabledPrograms = xlServerRoles.Descendants("ServerRole")
if(isDup)
{
.Where(dp => dp.Element("ServerType").Value == currentColumn.Substring(0, currentColumn.Length - 1))
}
else
{
.Where(dp => dp.Element("ServerType").Value == currentColumn)
}
.Descendants("ProgramName")
.Select(p => p.Value)
.ToList();
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem code, die Antwort ist wirklich einfach:
Im Allgemeinen jedoch gelten sehr unterschiedliche Abfragen, konnte man entweder:
Oder könnten Sie vielleicht die bedingte operator zu konstruieren, das Recht Prädikat:
Legen Sie die isDup in der where-Klausel:
Ich denke, dies zu tun.
Bewegen Sie den isDup test in der Where-Ausdruck selbst. Die Verwendung einer inline-anonym-Funktion anstelle eines einzeiligen Ausdruck, so dass Sie können verwenden Sie eine normale if/else-Anweisung.
Wie diese:
Können Sie konstruieren Abfrage wie diese:
Tun Sie es einfach einmal vor Beginn der Schleife:
Ort, den Sie isDup innen, Wo