Ich habe eine Sammlung in C#, die Daten von Personen speichert. Jetzt möchte ich die Sammelliste aktualisieren. Bevor ich ein Objekt in der Liste aktualisiere, möchte ich prüfen, ob die Person bereits existiert. Alle Personen haben 9 Eigenschaften. Ich möchte nach zwei Eigenschaften suchen, wenn die gespeicherten Daten bereits in der Sammlung sind.Zur Sammlung hinzufügen, wenn nicht bereits mit linq verfügbar
Wenn die Person bereits existiert, möchte ich die alten Daten löschen und alle Eigenschaften von der neuen speichern.
Wenn die Person nicht existiert, möchte ich ein neues Objekt mit den neuen Daten erstellen.
Neue Daten Ich lese aus einer externen Datei und speichern sie in der Sammelliste.
Alte Daten werden in einer XML-Datei gespeichert und ich lade sie in die Sammelliste.
Mein Ansatz bisher:
neue Person Zur Liste hinzufügen, seine selbst zur Verfügung. Löschen Sie dann Duplikate und halten Sie Personen an, die später zur Liste hinzugefügt werden.
oder
vor mit Linq von person.name
und person.sname
und stellen Sie alle Eigenschaften, die durch die neuen Daten wählen Sie Hinzufügen, wenn nicht neue existiert erstellen.
List<person> with {name, sname, mobile, email, adress1, adress2, fone, age, gender}
List<person> list = new List<person>;
Person person = new Person();
XDocument doc = XDocument.Load(XMLPath);
// somethink like that
list.Select(list.Name && list.sName)
where ...
Ich bin neu mit linq, also hatte ich Probleme, es zu realisieren.
Das war es, vielen Dank! Ich benutzte eine foreach, um die erste Liste zu durchlaufen und die Eigenschaften zu vergleichen. – swtch3k
Wie kann ich Name und Sname vergleichen, wenn beide Zeichenfolge sind. Ich probierte Equals und enthält beide mit einer Ausnahme? (NullReferenceException) – swtch3k
erhalten Sie es mit Hinzufügen Versuch fangen – swtch3k