我有一个
ObservableCollection
,我可以在其中添加项目,偶尔也会添加 Clear
。
然后是反应式管道,其想法是按插入顺序获取 ObservableCollection 的当前内容。
在执行第一个
Clear
之前,一切正常。这些项目的顺序正确。
然而,完成Clear
后,管道的顺序不正确。有时添加的项目最终会成为第一个,有时会成为最后一个。
var collection = new ObservableCollection<Item> = new(new List<Item>());
collection
.ToObservableChangeSet(x => x)
.ToCollection()
.Do(coll =>
// I want to have correct order of the items here.
{
Console.WriteLine($"---");
foreach (var x in coll)
{
Console.WriteLine($"x={x.Timestamp}");
}
})
})
...
.Subscribe(...)
// do some Adds and Clears to collection
完成此更改后,它似乎可以正常工作:
.ToObservableChangeSet(x => x)
到
.ToObservableChangeSet()