是否有人知道如何从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.
答案 0 :(得分:1)
GetRange
返回给定范围的列表副本。所以你的清单需要至少8760项。要仅选择对象的Moisture
属性,可以使用LINQ的Select
:
var lstMoistures = newList.GetRange(8755, 5).Select(l => l.Moisture).ToList();
注意:仅当您要保留查询时,才需要最后ToList
。 ToList
查询末尾的OrderBy
无用,因为您想要链接另一个查询。我会尽可能晚地实现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();
答案 1 :(得分:0)
您可以使用newList.GetRange(8755, 5).Select(l => l.Moisture)
从五个选定的Moisture
记录中获取Liner
组件。
答案 2 :(得分:0)
使用
var results = newList.GetRange(8755, 5).Select(m => m.Moisture);
它会给你Liner
的水分含量GetRange()
,即5个水分含量。