C#从List <object>中删除NaN

kkn*_*uib 0 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 { 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试删除所有价格等于NaN的元素.这就是我所拥有的,但由于某种原因,它不会起作用.

BidStack.RemoveAll(item => item.Price == Double.NaN);
AskStack.RemoveAll(item => item.Price == Double.NaN);
Run Code Online (Sandbox Code Playgroud)

有什么建议?

解决了:

BidStack.RemoveAll(item => Double.IsNaN(item.Price));
AskStack.RemoveAll(item => Double.IsNaN(item.Price));
Run Code Online (Sandbox Code Playgroud)

Dai*_*Dai 7

==像您期望的操作员不工作NaN,而是使用Double.IsNaN(x).