我通过 Observable 接收一系列对象。根据 PartNumber 属性,进来的对象可能是重复的,所以我必须检查以确保列表中没有重复。我得到了数百万个零件号,所以列表中的任何查询都会很昂贵,所以我们不想运行频繁的查询。
这是 OnNext 的实现
void OnNext(Product p)
{
if (!products.Any(x => x.PartNumber.Equals(p))) /// Very costly query
{
products.Add(p);
{
}
对于我收到的每个对象,我都必须运行昂贵的查询以确保我没有添加重复项......还有其他方法可以节省马力吗?