Kleine Frage über "ToLower"

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von n0ise.

    Kleine Frage über "ToLower"

    VB.NET-Quellcode

    1. Dim txt As String = "Visual Basic 2008"
    2. Dim muster As String = "Basic"
    3. Console.WriteLine( _
    4. txt.ToLower().IndexOf(muster.ToLower()))
    5. Console.ReadLine()



    Ich versteh das nicht was ToLower heißt oder bzw. was es auslöst. In mein Buch steht: "Die Methoden ToLower() bzw. ToUpper() des String-Objekts wandeln die Zeichen einer Zeichenkette in Groß- oder Kleinbuchstaben. Um das Muster in Kleinbuchstaben zu konvertieren, verwenden Sie muster.ToLower(), d.h. , dem Namen des Objekts muster hängen Sie den Methodennamen getrennt durch eine Punkt an.

    Das IndexOf den sogenannten Wert sucht der angegeben wurde weiß ich, aber das mit ToLow verstehe ich nicht..
    Könnte mir das vlt einer besser erklären?^^ Wäre nett.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „n0ise“ ()

    Ich würde sagen, die Anweisung wandelt zunächst mal alles in Kleinbuchstaben um, sucht dann die Zeichenfolge"basic" und gibt die Startposition dieser aus.

    VB.NET-Quellcode

    1. Dim txt As String = "Visual Basic 2008"
    2. Dim muster As String = "Basic"
    3. MessageBox.Show(txt.ToLower().IndexOf(muster.ToLower()))
    4. '//Edit
    5. MessageBox.Show(txt.Substring(7, txt.Length - 7))
    6. 'oder
    7. MessageBox.Show(txt.Substring(txt.ToLower().IndexOf(muster.ToLower()), txt.Length - txt.ToLower().IndexOf(muster.ToLower())))


    Das umwandeln ToLower hat den Grund, dass es dann egal ist, ob du nach "Basic" , "BASIC" , "BaSiC" oder sonstwas suchst, weil Suchwort und zu durchsuchender String in Kleinbuchstaben vorliegen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Unwesen“ ()

    VB.NET-Quellcode

    1. Dim txt As String = "Visual BAsic 2008"
    2. Dim muster As String = "Basic"
    3. MessageBox.Show(txt.ToLower(). IndexOf(muster.ToLower))


    Würde dann ja True ergeben und die Zahl 7 :)
    Wäre dann eigentlich die einfachste Variante. Aber war es nicht so das Anweisungen per ":" getrennt werden anstatt mit einem Punkt?

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

    Das ist ja keine Trennung der Anweisung, sondern eine unterfunktion des Objekts, das zum Beispiel der String txt darstellt. (Habs net so mit den Bezeichnungen.)

    Jedenfalls, wenn du einen Objektnamen schreibst und danach einen Punkt, bekommst du ja verschiedene Funktionen vorgeschlagen, die du mit dem Objekt benutzen kannst. ToLower ist halt eine Stringfunktion, die du mit diesem Objekt benutzen kannst. Hoffe mal das ich mich da einigermaßen verständlich ausdrücke. Ansonsten: Hier gibts genauere Infos.
    Anstatt

    VB.NET-Quellcode

    1. txt.ToLower(). IndexOf(muster.ToLower)

    kann man auch

    VB.NET-Quellcode

    1. txt.IndexOf(muster,StringComparison.OrdinalIgnoreCase)

    nehmen.
    Dort werden bei der Suche des Indexes groß-/Kleinschreibung ignoriert.

    Mehr Infos gibt's da:
    msdn.microsoft.com/de-de/library/ms224425(v=vs.80).aspx
    Von meinem iPhone gesendet