Ich habe diesen Code geschrieben, um eine Collection auf Objekte mit demselben Wert zu überprüfen, aber sie gibt den Index -1 zurück und verursacht eine IndexOutOfRangeException. Kann mir jemand helfen, meinen Fehler zu finden?C# ObservableCollection.IndexOf (...) liefert -1
List<MyFileInfo> selectedItemsList = dataInbox.SelectedItems.Cast<MyFileInfo>().ToList();
foreach (MyFileInfo file in selectedItemsList)
{
if (!file.AdditionalColumn.Equals(""))
{
inDB = new ZeichnungInDB(file.FileInfo.Name, file.AdditionalColumn, file.AdditionalColumn2, file.FileInfo.Extension,
txtAenderungExtern.Text, file.AdditionalColumn3,
int.Parse(txtProjectNumber.Text), txtTag.Text, bemerkung, anhangPfad, cmbDokumententyp.Text, false);
if (zeichnungCollection.Count > 0)
{
if (zeichnungCollection[zeichnungCollection.IndexOf(inDB)].Zeichnungsnummer != inDB.Zeichnungsnummer &&
zeichnungCollection[zeichnungCollection.IndexOf(inDB)].Extension != inDB.Extension)
{
zeichnungCollection.Add(inDB);
}
else
{
sameData = true;
}
}
else
{
zeichnungCollection.Add(inDB);
}
}
}
Auf Code-Formatierung: Ihre gesamte Block einrücken, so dass die äußerste Ebene vier Räume der Gedankenstrich hat, und Sie sollten gut sein. –