0

我有这样的课:

class Order
{
    public int Shares { get; set; }
    public int Price { get; set; }
}

和两个列表:

List<Order> _buyOrder = new List<Order>();
List<Order> _sellOrder = new List<Order>();

现在我需要使用 LINQ 创建一个新列表,其中 _buyOrder.price 的所有值都高于 _sellOrder.price。如果没有 LINQ,我正在做两个丑陋且烦人的 for 循环。有人可以指出我正确的方向吗?

我试过没有成功:

var t = _buyOrder
    .Select(x => x)
    .Where(x => x.Price > _sellOrder.Select(y=>y)
    .Where(y=>y.Price));
4

2 回答 2

3

这是你想要的吗?

var sellMax = _sellOrder.Max(y => y.Price);
var t = _buyOrder.Where(x => x.Price > sellMax);
于 2013-11-12T11:44:06.663 回答
1
var max = _sellOrder.Max(x => x.Price);
var result =    from b in _buyOrder
                where b.Price > max
                select b;
于 2013-11-12T12:02:17.620 回答