У меня есть список объектов, и я могу добавить запись с этой фразой:лямбда-выражения не работают в списке объектов
List<DragerClass.Alarm> alarms = new List<DragerClass.Alarm>();
public void createAlarm(int i, int[] alarms)
{
alarms.Add(new DragerClass.Alarm(i, DateTime.Now, DragerClass.Dedector.Dedector_Name[i] + " UNDER RANGE"))`;
}
Но когда я пытаюсь удалить элемент, он ведет себя так, как лямбда-выражение не поддерживает :
public void removeAlarm(int i)
{
alarms.Remove(x => x.Dedector_No == i);
}
Я вижу это сообщение, когда я стою на коде
не может преобразовать лямбда-выражения к типу «Drager_GasDedection.DragerClass.Alarm», потому что это не делегат типа
Я использую Visual Studio 2010, и я также добавил System.Data.Entity
в ссылках. Но все равно. Спасибо за любую помощь.
@ASh Я попробовал это с помощью RemoveAll сейчас, и теперь это сообщение «Drager_GasDedection.DragerClass.Alarm» не содержит определения для «Dedector_No» и никакого метода расширения «Dedector_No», принимающего первый аргумент типа «Drager_GasDedection». DragerClass.Alarm 'можно найти (если вы не используете ...) – CanESER
Я думаю, вам нужно 'alarms.RemoveAt (i);' –
«i» - это номер элемента, а не индекс списка, поэтому RemoveAt не помогает @MikeDebela – CanESER