我有一個對象列表,我可以用這句話添加記錄:Lambda表達式不在對象列表中工作
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"))`;
}
但是,當我嘗試刪除一個項目,它的行爲就像lambda表達式不支持:
public void removeAlarm(int i)
{
alarms.Remove(x => x.Dedector_No == i);
}
我看到消息時,我站在代碼
不能轉換lambda表達式類型 「Drager_GasDedection.DragerClass.Alarm」,因爲它不是委託 型
我使用Visual Studio 2010和我在引用也加入System.Data.Entity
。但還是一樣。謝謝你的幫助。
@ASh我現在試着用RemoveAll,現在這條消息是''Drager_GasDedection.DragerClass.Alarm'不包含'Dedector_No'的定義,也沒有接受類型'Drager_GasDedection'的第一個參數的擴展方法'Dedector_No'。 DragerClass.Alarm'可以找到(你是否錯過了一個使用...) – CanESER
我認爲你需要'alarms.RemoveAt(i);' –
「我」是項目的數量而不是列表的索引,所以RemoveAt沒有幫助@MikeDebela – CanESER