Dav*_*ave 5 .net c# linq collections minimum
给出Microsoft示例中的以下代码:
public class EngineMeasurementCollection : Collection<EngineMeasurement>
{
public EngineMeasurementCollection()
{
Add(new EngineMeasurement { Speed = 1000, Torque = 100, Power = 20 });
Add(new EngineMeasurement { Speed = 2000, Torque = 160, Power = 60 });
Add(new EngineMeasurement { Speed = 3000, Torque = 210, Power = 125 });
Add(new EngineMeasurement { Speed = 4000, Torque = 220, Power = 160 });
Add(new EngineMeasurement { Speed = 5000, Torque = 215, Power = 205 });
Add(new EngineMeasurement { Speed = 6000, Torque = 200, Power = 225 });
Add(new EngineMeasurement { Speed = 7000, Torque = 170, Power = 200 });
}
}
public class EngineMeasurement
{
public int Speed { get; set; }
public int Torque { get; set; }
public int Power { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何获得速度或扭矩或功率的最小值/最大值.我需要这个来在我正在做的图表上设置比例(确切地说是WPF Toolkit Chart).我想我可以在EngineMeasurementCollection中有一个方法遍历每个EngineMeasurement并查看Power(或Speed),但我怀疑有一个更容易的方法吗?类Collection确实有某种Min方法,但请注意,我并没有尝试获得最小的集合(我不确定在这种情况下意味着什么)而是特定属性的最小值(例如速度).我确实看到了Collection.Min与仿函数的使用.那里有什么可以做的吗?或者与Linq?我对各方面都很感兴趣.谢谢,戴夫
奖金问题(也许这对我来说很明显,最小/最大的答案).有哪些选项可以决定某个值(例如Speed已经在集合中).从这个例子中不清楚,但可能的情况是,如果你已经拥有某个给定自变量的某些数据(例如时间),你就不再需要了.那么有像Collection.Contains("指定你感兴趣的属性")的东西吗?
Dan*_*mov 13
using System.Linq;
var collection = new EngineMeasurementCollection();
int maxSpeed = collection.Max(em => em.Speed);
Run Code Online (Sandbox Code Playgroud)
另请参阅:
LINQ MSDN文档
LINQ to Objects 5分钟概述