C#从列表中删除NaN<;对象>;

C#从列表中删除NaN<;对象>;,c#,list,C#,List,我有一个StackBuilder类型的列表: public class StackBuilder { private int quoteID = 0; private double price = 0; private double size = 0; public int QuoteID { get { return quoteID; } } public double Price { get

我有一个StackBuilder类型的列表:

public class StackBuilder
{
    private int quoteID = 0;
    private double price = 0;
    private double size = 0;

    public int QuoteID
    {
        get { return quoteID; }
    }

    public double Price
    {
        get { return price; }
    }

    public double Size
    {
        get { return size; }
    }

    public StackBuilder(int quoteID, double price, double size)
    {
        this.quoteID = quoteID;
        this.price = price;
        this.size = size;
    }
}
我试图删除所有price等于NaN的元素。这就是我所拥有的,但由于某种原因,它不会起作用

BidStack.RemoveAll(item => item.Price == Double.NaN);
AskStack.RemoveAll(item => item.Price == Double.NaN);
有什么建议吗

已解决:

BidStack.RemoveAll(item => Double.IsNaN(item.Price));
AskStack.RemoveAll(item => Double.IsNaN(item.Price));

=
运算符在
NaN
上的工作方式与您期望的不一样,而是使用了
Double.IsNaN(x)

它“起作用”-对于两个
NaN
s,它只是不返回
true
。事实上,
NaN
的一个特定特征是
NaN
值不等于自身。还有多个有效的
NaN
。非常有效,谢谢@大样