#

C#: Prüfen auf Enthält Zeichenfolge ohne Groß- Kleinscheibung

 

Wie prüft man einen C# String, ob ein Teilstring enthalten ist. Dabei soll die Großschreibung und Kleinschreibung keine Rolle spielen.

 

Lösung:

Mit IndexOf und dem Textvergleich *IgnoreCase wird geprüft, ob ein Teil-Text in einem Text vorkommt.

Sting.IndexOf("_all", StringComparison.InvariantCultureIgnoreCase) >-1

 

Standard ohne Ignrieren von Groß-/ Klein

Prüfe auf Vorkommen eines Teilstrings MIT Groß-/ Kleinschreibung

Wenn man keinen Parameter StringComparison setzt, dann wird als Standard die Groß-/Kleinschreibung berücksichtigt.

bool IsOwn = false;

if (sAction.IndexOf("_own) >0) { IsOwn = true; }

 

Wenn kein Treffer vorkommt, dann ist das Ergebnis -1

Korrektur

if (sAction.IndexOf("_all", StringComparison.InvariantCultureIgnoreCase) >-1 || sAction.ToLower() =="index")

{

    <a asp-controller="Notes" asp-action="Index_All" class="mynav_a_bg50" style="@sStyle_Activ_Notes">Notizen</a>

}

else

{

    <a asp-controller="Notes" asp-action="Index_Own" class="mynav_a_bg50" style="@sStyle_Activ_Notes">Notizen</a>

}

 

Intellisense: IndexOf gibt die Parameter

StringComparison.CurrentCulture

StringComparison.CurrentCultureIgnoreCase

StringComparison.InvariantCulture

StringComparison.InvariantCultureIgnoreCase

StringComparison.Ordinal

StringComparison.OrdinalIgnoreCase

 

 

Im Debugger sieht man, dass beim Vergleich mit *IgnoreCase der Treffer bei Zeichen 5 vorkommt, aber beim Standard Verleich mit .IndexOf(..) wird nichts gefunden und das Ergebnis ist -1

Teilstring, Substring, Instr, InstrRev

Mobile

.

123movies