HOWTO · Csharp
Prüfen, ob TextBox leer ist in C#
Prüfen Sie eine Windows-Forms-TextBox mit String.IsNullOrEmpty() oder TextBox.Text.Length und erfahren Sie, wann eine whitespace-sensible Prüfung nötig ist.
Auf dieser Seite
Um ein Windows-Forms-Textfeld zu prüfen, lesen Sie seine Text-Eigenschaft aus, wenn der Benutzer auf eine Schaltfläche klickt. Verwenden Sie String.IsNullOrEmpty(), wenn nur null oder ein Wert mit null Zeichen als leer gelten soll. Wählen Sie String.IsNullOrWhiteSpace(), wenn auch Leerzeichen und andere Whitespace-Zeichen als leer gelten sollen. Beide Ansätze funktionieren mit dem Text aus TextBox.Text; sie unterscheiden sich darin, wie sie Eingaben behandeln, die nur aus Whitespace-Zeichen bestehen.
Mit der Funktion String.IsNullOrEmpty() in C# prüfen, ob eine TextBox leer ist
String.IsNullOrEmpty() gibt true zurück, wenn das Argument null oder "" ist, und false, wenn der Text nur aus Leerzeichen besteht. Übergeben Sie in einem Windows-Forms-Schaltflächenhandler textBox1.Text als Argument. Wenn die Bedingung zutrifft, kann der Handler label1.Text auf "TEXT BOX IS EMPTY" setzen. Das Label wird durch diese bedingte Anweisung nur aktualisiert, wenn die Bedingung zutrifft; was das Label bei anderen Eingaben anzeigen soll, wird damit nicht festgelegt.
Dieses eigenständige C#-Konsolenprogramm verwendet einen Beispielwert und gibt eine kurze Statusmeldung auf der Standardausgabe aus. Es bündelt die Entscheidung an einer Stelle, sodass Sie denselben Vergleich in einem Windows-Forms-Schaltflächenhandler verwenden können. Das folgende Beispiel nutzt eine einfache Verzweigung und gibt die ausgewählte Meldung aus; Steuerelemente und Ereignisverknüpfung gehören nicht zu diesem Konsolenbeispiel.
using System;
class Program
{
static void Main()
{
string text = "";
if (String.IsNullOrEmpty(text))
{
Console.WriteLine("No characters");
}
else
{
Console.WriteLine("Text is present");
}
}
}
No characters
Wenn Leerzeichen oder andere Whitespace-Zeichen als fehlende Eingabe gelten sollen, rufen Sie stattdessen String.IsNullOrWhiteSpace(textBox1.Text) auf. Diese Methode gibt true zurück, wenn der Wert null, eine leere Zeichenfolge oder ein Text ist, der ausschließlich aus Whitespace-Zeichen besteht. Der genaue Name lautet String.IsNullOrWhiteSpace(); String.IsNullOrWhitespace() und String.IsEmptyOrNot() sind keine gültigen .NET-Methoden. Das Konsolenbeispiel prüft die Zeichenfolge unabhängig von der Benutzeroberfläche. Der Ausdruck für den Schaltflächenhandler ist die Windows-Forms-Variante für ein Formular mit den Steuerelementen textBox1 und label1; er benötigt dieses Formular und ist kein eigenständiges Konsolenprogramm.
Verwenden Sie die Whitespace-Prüfung, wenn ein Feld, das nur Leerzeichen enthält, wie eine fehlende Eingabe behandelt werden soll, etwa bevor eine Meldung zu einem Pflichtfeld angezeigt wird. Verwenden Sie String.IsNullOrEmpty(), wenn Leerzeichen gültige Daten sind und sich von einem Wert mit null Zeichen unterscheiden sollen. Keine der beiden Prüfungen entfernt oder verändert den Text; beide geben einen booleschen Wert zurück, anhand dessen Ihr Handler entscheiden kann, was zu tun ist.
Mit der Eigenschaft TextBox.Text.Length in C# prüfen, ob eine TextBox leer ist
TextBox.Text.Length gibt die Anzahl der Zeichen im Text des Steuerelements zurück. In einem Windows-Forms-Handler trifft textBox1.Text.Length == 0 auf eine Zeichenfolge mit null Zeichen zu. Ein Wert, der Leerzeichen enthält, hat eine Länge größer als null; diese Bedingung erkennt daher keine Eingabe, die nur aus Whitespace-Zeichen besteht. Verwenden Sie diese Eigenschaft, wenn Sie gezielt zwischen null Zeichen und mindestens einem Zeichen unterscheiden möchten. Soll auch Whitespace als leer gelten, verwenden Sie String.IsNullOrWhiteSpace().
Der Längenvergleich ist gut lesbar, wenn der Wert bereits über die nicht-nullbare Eigenschaft TextBox.Text verfügbar ist. Er prüft lediglich die Zeichenanzahl: Er entfernt keine Leerzeichen, aktualisiert kein Label und führt keine weitere Feldvalidierung durch. Verwenden Sie den Vergleich in dem Ereignishandler oder der Validierungslogik, die das Ergebnis benötigt, und wählen Sie stattdessen die String-Methode, wenn der Umgang mit Whitespace entscheidend ist.