1

有人知道如何从 List<> 访问特定字段吗?我不知道如何访问 newList 对象中的特定字段。

  List<Liner> LX = new List<Liner>();

  public class Liner
  {
      public double Temperature { get; set; }
      public double Moisture { get; set; }
  }

newList = LX.OrderBy(x => x.Temperature).ToList();

var lstMXLast = newList.GetRange(8755, 5);  // I need only 5 specific Moisture records in this case. 
4

3 回答 3

1

GetRange返回具有给定范围的列表的副本。因此,您的列表至少需要 8760 项。要仅选择Moisture对象的属性,可以使用 LINQ Select

var lstMoistures = newList.GetRange(8755, 5).Select(l => l.Moisture).ToList();

注意:ToList只有在要持久化查询时才需要最后的 。您ToListOrderBy查询末尾是无用的,因为您想链接另一个查询。我只会尽可能晚地实现 LINQ 查询。

您还可以对整个事情使用 LINQ:

var lstMoistures = newList.Skip(8755).Take(5).Select(l => l.Moisture).ToList();

假设您最初想选择温度最高的 5 个衬垫,这应该会给您正确的结果:

var lstMoistures = LX.OrderByDescending(x => x.Temperature).Take(5).Select(l => l.Moisture).ToList();
于 2012-06-07T11:10:37.707 回答
0

您可以使用仅从五个选定记录中newList.GetRange(8755, 5).Select(l => l.Moisture)获取组件。MoistureLiner

于 2012-06-07T11:06:18.300 回答
0

采用

var results = newList.GetRange(8755, 5).Select(m => m.Moisture);

它会给你Liner返回的水分水平,GetRange()即 5 个水分水平。

于 2012-06-07T11:07:52.427 回答