Zitat: |
Auf die Console schreiben(Bitte geben Sie einen WERT ein:)# |
Das kannst du offensichtlich, dazu brauche ich nichts zu schreiben.
Hier fehlt, dass
ReadLine einen
Rückgabewert hat, der benutzt werden soll. In deinen früheren Beiträgen hast du ihn einem Element der Liste zugewiesen, aber wozu und warum ausgerechnet an Position i (wobei i auch noch größer als das Maximum ist)? Außerdem fehlt mir der Hinweis, von welchem
Typ das sein soll. Weise den Rückgabewert doch einfach einer
string-Variablen toLookFor oder so zu und arbeite damit weiter.
Du willst wissen, ob der Wert in der Liste enthalten ist? Dazu gibt es deinen Weg:
Zitat: |
Gehe durch die Liste und Suche nach "Hallo". |
Der erste Teil formuliert eine Schleife, aber die hast du dafür bisher nicht benutzt; der zweite Teil muss eigentlich "vergleiche" heißen, d.h. "ist das aktuelle Element gleich 'Hallo'. Wo machst du das?
Es gibt aber genau für "Suche in einer Liste" eine einfache Variante sowohl für die Sch...-ArrayList als auch für List<T>. In der
SDK-Doku/MSDN bzw. über
Hilfe>Index findet man eine Methode mit dieser Beschreibung:
MSDN hat folgendes geschrieben: |
Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens innerhalb der gesamten List zurück. |
Zitat: |
Ausgabe: der Wert wurde gefunden!
Ausgabe: Ihr gesuchter Wert ist der Folgende! |
Wozu das denn? Der eingegebene Wert ist doch identisch mit dem gesuchten und ggf. gefundenen. Eine vernünftige Antwort (= Ausgabe) kann doch nur sein:
Quelltext
1: 2: 3: 4:
| if (Eingabewert vorhanden) Ausgabe "Treffer an Position x" else Ausgabe "Eingabewert nicht gefunden" |
Mir kommt es so vor, als wenn du viel zu kompliziert denkst. Auch wenn NET strikt nach OOP geht, ist eine einzelne Maßnahme dennoch Schritt für Schritt zu erledigen; also kannst du auch so denken und planen: zuerst ..., dann ..., wenn ... dann ... andernfalls.
Jürgen