C# | bestimmtes Objekt einer Liste löschen?


28.02.2020, 19:30

GetIntFromConsole() ist ein Unterprogramm um Fehler bei der Eingabe zu vermeiden

2 Antworten

Hi, ich bin mir noch unschlüssig ob eine List<T> nicht deinen Ansprüchen genügen würde, aber das sei mal dahingestellt.

Die Remove(T value)-Methode würde dich zum Ziel führen, wenn du dein Objekt finden könntest um es dann dieser Methode zur Löschung zu übergeben.

Hierzu müsstest du entweder deine Klasse IComparable<T> und IEquatable<T> implementieren lassen oder einen IEqualityComparer<T> schreiben, weil "niemand" weiss, wie du deine Schulklasse identifizierst (ich gehe davon aus, dass der Name eindeutig ist, aber wer weiss das schon).

Ebenso wäre es möglich, per System.Linq und der First-Methode bzw. FirstOrDefault-Methode und einem entsprechenden Lambda das Element zu finden.

Die von regex9 verlinkten Beispiele auf der Microsoft Seite vergleichen Strings und das geht "out of the box".

Woher ich das weiß:Berufserfahrung – Senior-Softwaredeveloper mit 20 Jahren Berufserfahrung.

Löblicherweise bietet Microsoft eine gute Dokumentation für die .NET-Standardbibliothek.

https://docs.microsoft.com/de-de/dotnet/api/system.collections.generic.linkedlist-1?view=netframework-4.8#methods

Schau unter Remove....


Fischi898 
Beitragsersteller
 28.02.2020, 19:52

Hat mir leider nicht geholfen, da ich nicht weiß wie ich den Befehl anwende. Würde ihn in die else if(Anzahl == 2) setzen (Bild 1 unten).

0
regex9  28.02.2020, 20:22
@Fischi898

Das steht alles auf den jeweiligen Seiten, es gibt auch Beispiele. Du musst es dir aber auch durchlesen.

0