Ich habe 2 Listen der gleichen Typs. Die linke Liste:Linke beitreten auf zwei Listen und pflegen eine Eigenschaft von rechts mit Linq
var leftList = new List<Person>();
leftList.Add(new Person {Id = 1, Name = "John", Changed = false});
leftList.Add(new Person {Id = 2, Name = "Alice", Changed = false});
leftList.Add(new Person {Id = 3, Name = "Mike", Changed = false});
Und die richtige Liste:
var rightList = new List<Person>();
rightList.Add(new Person {Id = 1, Name = "John", Changed = false});
rightList.Add(new Person {Id = 3, Name = "Mike", Changed = true});
rightList.Add(new Person {Id = 4, Name = "Joshi", Changed = true});
Ich möchte beitreten ein mehr tun, aber den Wert auf der Changed
Eigenschaft aus der rechts verwenden. Wie folgt aus:
{Id = 1, Name = "John", Changed = false}
{Id = 2, Name = "Alice", Changed = false}
{Id = 3, Name = "Mike", Changed = true} // <-- true from the rightList
Dazu kann ich nicht einfach verwenden Left Join, und ich kann nicht einen Concat with GroupBy verwenden.
Wie kann ich das mit Linq? Vielen Dank.
Sie erhalten einen Nullref in der letzten Zeile. Geändert sollte zugewiesen werden 'rgt == null? lft.Changed: rgt.Changed' –
@CameronMacFarland: Ta! – spender
Hallo Spender danke für deine Hilfe, sorry wegen der Verspätung, ich war sehr beschäftigt hier. Schöne Erweiterung, vielen Dank für das Teilen! –