Es gibt zwei Sammlungen: NodesWithCircuitsDown<NetworkDeviceNodeStatus>
und RecordedImpairedNodes<NetworkDeviceNodeStatus>
.LINQ Vergleichen Sie zwei Sammlungen für mehrere Eigenschaften
NetworkDeviceNodeStatus
hat eine NodeId
(int) und eine CurrentStatus
(enum).
Ich möchte eine dritte Sammlung erstellen NodesWithDifferentImpairment
genannt, die jede NetworkDeviceNodeStatus
mit einem NodeId
enthalten, die in den beiden obigen Sammlungen ist, aber mit einem CurrentStatus
, die anders ist.
Unten ist, was ich bisher habe, aber ich habe Probleme beim Verschachteln der Abfragen, um dies zu erreichen.
IEnumerable<NetworkDeviceNodeStatus> NodesWithDifferentImpairment =
NodesWithCircuitsDown.Where(x =>
RecordedImpairedNodes.Select(y => new { y.CurrentStatus, y.NodeId }).Select(y => y.NodeId)
);
meinten Sie 'Paar => pair.LeftNode.CurrentStatus = pair.RightNode.CurrentStatus'!? – blgrnboy
@blgrnboy ja, vielen Dank für das Erkennen dieser –
Addiere ich auch '' Select (pair => pair.LeftNode) ', um ein' IEnumerable 'zurück zu bekommen? Das Endergebnis sollte die Elemente in "NodesWithCircuitsDown" zurückgeben, die nicht den gleichen CurrentStatus hatten. –
blgrnboy