Ich muss prüfen, ob eine Zeichenfolge nur Buchstaben, Ziffern und Unterstriche enthält. So habe ich es versucht, aber es funktioniert nicht:
%Vor% Sie weisen validA
jedes Mal erneut zu, ohne den vorherigen Wert zu überprüfen. Jetzt erhalten Sie immer den Wert der letzten durchgeführten Prüfung.
Sie könnten 'und' das Ergebnis:
%Vor%Dies würde bedeuten, dass Sie immer noch alle Zeichen ausführen, was nutzlos sein kann, wenn die erste Überprüfung fehlgeschlagen ist. Es ist also besser, einfach auszusteigen, wenn es nicht funktioniert:
%Vor%Oder mit LINQ:
%Vor%Sie könnten versuchen, einen regulären Ausdruck zu finden. Es gibt einen eingebauten Typ für "Buchstaben, Ziffern und Unterstriche", der "\ w" ist.
%Vor%Wenn Sie 1 oder mehr benötigen, verwenden Sie "\ w +".
Weitere Informationen finden Sie hier: Regex.IsMatch
Erstens ist letter ein etwas vager Begriff: Meinst du a..z
und A..Z
Zeichen oder Buchstaben könnten zu irgendeinem Alphabet gehören, z. а..я
und А..Я
(Russisch, kyrillische Buchstaben). Gemäß Ihrer aktuellen Implementierung möchten Sie die zweite Option verwenden.
Typische Lösung mit Schleife ist das Überprüfen bis zum ersten Zählerbeispiel:
%Vor%Sie können den Code jedoch entweder mit Linq vereinfachen:
%Vor%Oder regulärer Ausdruck :
%Vor%