次のように辞書を並べ替えました。
var sortedListOfNodes = _nodeDictionary.Values.OrderBy((n) => n.Time);
次に、要素を次のように選択しました。
var selectedNode = sortedListOfNodes.First(n => n.Time - CurrentTime > new TimeSpan(1,0,0));
次に、そのノードでいくつかの処理を行い、最後に、並べ替えられた順序を破棄せずに、リストからノードを削除したいと考えました。
以下は順序を維持しますか?
sortedListOfNodes = (IOrderedEnumerable<Node>)sortedListOfNodes.Where(node => node != selectedNode);