HOWTO · Csharp

C#에서 TextBox가 비어 있는지 확인

String.IsNullOrEmpty() 또는 TextBox.Text.Length로 Windows Forms TextBox를 확인하고, 공백까지 고려한 검사가 필요한 경우를 알아봅니다。

이 페이지의 내용

Windows Forms 텍스트 상자에서 사용자가 버튼을 클릭할 때 Text 속성을 읽으면 입력 내용을 확인할 수 있습니다. null 또는 문자가 하나도 없는 값만 찾으려면 String.IsNullOrEmpty()를 사용하세요. 공백이나 다른 공백 문자만 있는 경우도 찾으려면 String.IsNullOrWhiteSpace()를 선택하세요. 두 방법 모두 TextBox.Text에서 반환된 텍스트에 사용할 수 있으며, 공백 문자만 있는 입력을 어떻게 판정하는지가 다릅니다.

C#에서 String.IsNullOrEmpty() 함수로 TextBox가 비어 있는지 확인하기

String.IsNullOrEmpty()는 인수가 null이거나 ""이면 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가 비어 있는지 확인하기

TextBox.Text.Length는 컨트롤 텍스트의 문자 수를 반환합니다. Windows Forms 이벤트 처리기에서 textBox1.Text.Length == 0은 문자가 하나도 없는 문자열에 일치합니다. 공백이 포함된 값은 길이가 0보다 크므로 이 조건으로는 공백 문자만 있는 입력을 판별할 수 없습니다. 문자가 전혀 없는 값과 하나 이상 있는 값을 구분하려면 이 속성을 사용하고, 공백도 일치시켜야 한다면 String.IsNullOrWhiteSpace()를 사용하세요.

값을 null이 아닌 TextBox.Text 속성에서 이미 가져온 경우 길이 비교는 읽기 쉽습니다. 이 비교는 문자 수 조건만 확인합니다. 공백을 자르거나 레이블을 업데이트하거나 다른 필드 검증을 수행하지는 않습니다. 결과가 필요한 이벤트 처리기나 검증 로직 안에 비교를 넣고, 공백 여부도 구분해야 한다면 문자열 메서드를 선택하세요.