访问 GetRange() 方法中泛型列表的字段
本文关键字:泛型 列表 字段 方法 GetRange 访问 | 更新日期: 2023-09-27 18:36:31
有人知道如何从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.
GetRange
返回具有给定范围的列表副本。因此,您的列表至少需要 8760 个项目。若要仅选择对象的 Moisture
属性,可以使用 LINQ 的Select
:
var lstMoistures = newList.GetRange(8755, 5).Select(l => l.Moisture).ToList();
注意:仅当您要保留查询时,才需要末尾的ToList
。OrderBy
查询末尾的ToList
是无用的,因为您要链接另一个查询。我只会在尽可能晚的情况下实现 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();
您可以使用
newList.GetRange(8755, 5).Select(l => l.Moisture)
从五个选定的Liner
记录中获取Moisture
组件。
使用
var results = newList.GetRange(8755, 5).Select(m => m.Moisture);
它将为您提供GetRange()
返回的Liner
水分含量,即 5 个水分含量。