HOWTO · Csharp
在 C# 中檢查文字框是否為空
使用 String.IsNullOrEmpty() 或 TextBox.Text.Length 檢查 Windows Forms 文字框,並了解何時需要能感知空白字元的驗證。
本頁內容
在 Windows Forms 中,使用者按下按鈕時讀取文字方塊的 Text 屬性即可進行檢查。若只有 null 或零字元的值應符合條件,請使用 String.IsNullOrEmpty();若空格和其他空白字元也應符合條件,則使用 String.IsNullOrWhiteSpace()。這兩種方法都能檢查 TextBox.Text 傳回的文字,差別在於它們如何判定只含空白字元的輸入。
使用 C# 中的 String.IsNullOrEmpty() 函式檢查文字方塊是否為空
當引數是 null 或 "" 時,String.IsNullOrEmpty() 會傳回 true;若文字只由空格組成,則會傳回 false。在 Windows Forms 按鈕事件處理常式中,將 textBox1.Text 作為引數傳入。如果條件成立,事件處理常式可以將 label1.Text 設為 "TEXT BOX IS EMPTY"。這段條件判斷只會在符合條件時更新標籤,並未指定其他輸入時標籤應顯示什麼。
以下獨立的 C# 主控台程式會使用範例值,並將簡短狀態訊息寫入標準輸出。它把判斷集中在一處,方便你將相同的比較方式改寫到 Windows Forms 按鈕事件處理常式中。範例使用簡單的條件分支來輸出相應訊息;主控台範例不包含控制項或事件繫結。
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
如果空格或其他空白字元也應視為未輸入,請改用 String.IsNullOrWhiteSpace(textBox1.Text)。此方法在值為 null、空字串或只包含空白字元時會傳回 true。方法的正確名稱是 String.IsNullOrWhiteSpace();String.IsNullOrWhitespace() 和 String.IsEmptyOrNot() 都不是有效的 .NET 方法。主控台範例將字串判斷與使用者介面分開;按鈕事件處理常式中的寫法則適用於已包含名為 textBox1 和 label1 控制項的 Windows Forms 表單,必須在該表單中使用,不能當作獨立的主控台程式。
若欄位只包含空格時也應視為未輸入,例如在顯示必填欄位訊息前,請選擇能檢查空白字元的方法。若空格是有意義的資料,且應與零字元的值區分,請使用 String.IsNullOrEmpty()。這兩種檢查都不會修剪或修改文字,而是各自傳回布林值,供事件處理常式決定後續動作。
使用 C# 中的 TextBox.Text.Length 屬性檢查文字方塊是否為空
TextBox.Text.Length 會傳回控制項文字中的字元數。在 Windows Forms 事件處理常式中,textBox1.Text.Length == 0 可用來判斷字串是否含有零個字元。只要值中包含空格,長度就會大於零,因此這個條件無法識別只含空白字元的輸入。如果你要區分的是完全沒有字元與包含一個或多個字元,請使用這個屬性;若空白字元也應符合條件,則使用 String.IsNullOrWhiteSpace()。
當值已透過非 null 的 TextBox.Text 屬性取得時,長度比較方式一目了然。它只檢查字元數是否符合條件:不會修剪空格、更新標籤,也不會執行其他欄位驗證。請將比較式放在需要其結果的事件處理常式或驗證邏輯中;若空白字元的判定方式很重要,則改用字串方法。