我正在尝试编写的实际查询比标题所暗示的要复杂一些。我有一个像这样的订单列表:List<Order>
,订单看起来像这样:
public class Order
{
private StockCodes _stockCode;
private bool _bidSide;
private int _volume;
private decimal _price;
}
我需要在给定特定股票代码的情况下发布最佳买入价和成交量以及最佳卖出价和成交量。最佳买入价被定义为当bidSide 为真时的最高价。最佳卖出价定义为当bidSide 为假时的最低价。
例如,给定股票代码“ABC”的以下数据:
{ bidSide: true, volume: 25, price: 25 }
{ bidSide: true, volume: 25, price: 25 }
{ bidSide: true, volume: 25, price: 5 }
{ bidSide: false, volume: 100, price: 1 }
{ bidSide: false, volume: 50, price: 2}
{ bidSide: false, volume: 75, price: 8 }
最佳出价:价格 25,数量 50(因为有 2 个最高价格的订单) 最佳卖出:价格 1,数量 100(因为只有 1 个最低价格的订单)
最后,我需要考虑何时没有买入或卖出订单。效率是重中之重,所以如果我能够在一个 linq 语句中做到这一点,那将是首选。