Учитывая следующий код из примера 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; }
}
Как получить минимальную / максимальную скорость, крутящий момент или мощность.Мне нужно это, чтобы установить масштаб на графике, который я делаю (если быть точным, WPF Toolkit Chart).Я полагаю, у меня мог бы быть метод внутри EngineMeasurementCollection, который перебирает каждый EngineMeasurement и смотрит на Power (или Speed), но я подозреваю, что есть намного более простой способ?В классе Collection действительно есть какой-то метод Min, но обратите внимание, я не пытаюсь получить минимум коллекции (я не уверен, что это будет означать в этом случае), а, скорее, минимум определенного свойства (напр. скорость).Я видел использование Collection.Min с функторами.Есть ли что-то, что можно сделать там?Или с Linq?Я заинтересован во всех отношениях.Спасибо, Дейв
Бонусный вопрос (возможно, это будет очевидно для меня с ответом на мин / макс).Какие есть варианты, чтобы решить, если значение (например, скорость уже в коллекции).Это не ясно из этого примера, но может случиться так, что если у вас уже есть данные для данной независимой переменной (например, времени), вам больше не нужны.Так есть ли что-то вроде Collection.Contains («указать интересующее вас свойство»)?