オブジェクトの "DataPerLabel"でいっぱいの重複を削除しようとしています。オブジェクトのarraylistから重複を削除します
DataPerLabelには、getLabelname()、getLabelAdress()、およびgetDataType()メソッドが含まれています。
いくつかの背景情報:
値のラベル名、labelAdressとデータ型は、送信ボタンによりALLDATAという名前のArrayListに1つのオブジェクトとして設定することができます。サブミッションが2回目に押されると、私はarraylistのそのオブジェクトを削除します。
画像:
私が試したコードの一部:
このコードでif (submitButtonClicked == true) {
if (MessageBox.Show("This is item is already set. Do you want to delete?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
foreach(DataPerLabel item in allData) {
if (item.getDataType().Equals(dataType) && item.getLabelAdress().Equals(adress) && item.getLabelName().Equals(label)) {
allData.Remove(item);
} else {
}
}
} else {
//no
}
}
私は次のエラーを取得しています:「System.InvalidOperationException」種類の未処理の例外がで発生しましたmscorlib.dll。
追加エラー情報:コレクションが変更されました。
での可能な複製をあなたのための新しいのArrayListを作成します:// stackoverflowの.com/questions/4786919/linq-distinct-implemented-equals-gethashcode) – pix