List (of String) und lower case

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    List (of String) und lower case

    Hallo,

    ich möchte in einer For Each Schleife eine Liste durchgehen, dabei vergleichen ob der String in einer List (of String) vorkommt und dann eine Aktion ausführen wenn der String nicht darin vorkommt.

    Wie aber kann ich nun den zu prüfenden String (ok hier geht string.tolower) auf vorhanden sein in der List (of String) per Contains prüfen und dabei die Gross-/Kleinschreibung vernachlässigen?

    Also quasi

    VB.NET-Quellcode

    1. For each Entry in Entries
    2. if not LIST.Contains(Entry.tolower) then
    3. ...
    4. end if
    5. Next


    Viele Grüsse,
    Daniel
    Hi Blaze und Artentus,

    vielen Dank für beide Tipps, damit klappt es.

    Im Visual Studio wird mir aber eine Warnung eingeblendet:
    Die Verwendung der Iterationsvariablen in einem Lambda-Ausdruck kann zu unerwarteten Ergebnissen führen. Erstellen Sie stattdessen in der Schleife eine lokale Variable, und weisen Sie dieser den Wert der Iterationsvariablen zu.

    Das irritiert mich etwas denn "Entry" wird doch definitiv eindeutig innerhalb For Each belegt, oder? Wenn ich innerhalb der For Each Schleife mit "Dim EntryValue as String = Entry" den Entry übernehmen und dann im Vergleich verwende, bleibt die Warnung aus.


    Viele Grüsse,
    Daniel
    Das liegt am Lambda-Ausdruck. Der Compiler kann dort nicht gewährleisten, dass die Variable nicht geändert wird, und eine Laufvariable einer ForEach-Schleife darf nicht geändert werden. Es sollte nichts passieren, aber verwende einfach so eine zusätzliche Variable, dann bist du die Warnung los.
    Soll überprüft werden, ob ein Eintrag der einen Liste in der anderen Liste vorhanden ist? Da könnte man dann das machen:

    VB.NET-Quellcode

    1. firstList.Any(Function(l)secondList.Any(Function(r) StringComparer.OrdinalIgnoreCase.Equals(l, r)))

    oder das von Artentus.

    Gruß
    ~blaze~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()