LINQ调用内部方法选择传递所选项目作为参数

时间:2016-07-20 15:48:38

标签: c# linq

我有一个LINQ语句,其中选择我需要调用一个方法,该方法的参数是查询中选择的项目。

以下是一个例子:

List<Foo> foos = new List<Foo> {....};

float GetPrice(Foo) {....}

var query = foos
  .Where(x => x.ID == 1)
  .Select(x => new
  {
    aaa = GetPrice(????)
  });

如何在GetPrice(????)的调用中指定所选的Foo?

1 个答案:

答案 0 :(得分:2)

x语句中的Select()将代表Foo个对象,因为您要从List<Foo>查询,因此您应该能够传入x方法的GetPrice()

aaa = GetPrice(x)

所以你的整个代码看起来像这样:

var query = foos.Where(x => x.ID == 1)
                .Select(x => new {
                      aaa = GetPrice(x)
                });