Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 리스트에서 빈 문자열 요소를 제거하는 방법 완벽 가이드

C# 프로그래밍을 하다 보면 문자열 리스트에 빈 문자열이나 공백만 있는 요소가 포함되어 있어 이를 정리해야 하는 경우가 자주 발생합니다. 이번 글에서는 RemoveAt() 메서드를 사용하여 리스트에서 특정 인덱스의 빈 문자열 요소를 제거하는 방법을 알아보겠습니다.

1. 빈 문자열이 포함된 리스트 생성하기

먼저, 빈 문자열(공백)을 요소로 가지는 리스트를 생성합니다. 아래 예제에서는 세 개의 공백 문자열을 포함하는 리스트를 만들었습니다.

List<string> myList = new List<string>() {
    " ",
    " ",
    " "
};

2. RemoveAt() 메서드로 요소 제거하기

RemoveAt() 메서드는 지정한 인덱스 위치의 요소를 리스트에서 삭제합니다. 인덱스는 0부터 시작하므로, 첫 번째 요소를 제거하려면 인덱스 0을 전달하면 됩니다.

myList.RemoveAt(0);

위 코드를 실행하면 리스트의 첫 번째 빈 문자열 요소가 삭제되고, 나머지 두 개의 요소가 남게 됩니다.

3. 전체 예제 코드

지금까지 설명한 내용을 하나의 완전한 프로그램으로 작성해 보겠습니다. 리스트 초기화, 요소 출력, 제거, 결과 확인까지의 전체 과정을 담고 있습니다.

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        List<string> myList = new List<string>() {
            " ",
            " ",
            " "
        };

        Console.Write("빈 문자열이 포함된 초기 리스트...\n");
        foreach (string list in myList) {
            Console.WriteLine(list);
        }

        Console.Write("리스트에서 빈 요소를 제거합니다...\n");
        myList.RemoveAt(0);

        foreach (string list in myList) {
            Console.WriteLine(list);
        }
        Console.WriteLine("위에 빈 요소가 하나 삭제된 리스트가 표시됩니다...");
    }
}

4. 실행 결과

프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

빈 문자열이 포함된 초기 리스트...



리스트에서 빈 요소를 제거합니다...


위에 빈 요소가 하나 삭제된 리스트가 표시됩니다...

추가 팁: 모든 빈 문자열 한 번에 제거하기

리스트에 빈 문자열이 여러 개 있고 이를 모두 제거하고 싶다면, LINQ의 Where() 메서드와 IsNullOrWhiteSpace()를 조합하는 것이 효율적입니다.

myList = myList.Where(s => !string.IsNullOrWhiteSpace(s)).ToList();

이 방법을 사용하면 반복문 없이도 리스트 내의 모든 빈 문자열과 공백 요소를 한 번에 필터링할 수 있습니다.

마무리

C#에서 리스트의 빈 문자열을 제거하는 가장 기본적인 방법은 RemoveAt()으로 특정 인덱스의 요소를 삭제하는 것입니다. 단일 요소 제거에는 RemoveAt(), 다수의 빈 요소 일괄 제거에는 LINQ의 Where() 메서드를 활용하면 상황에 맞게 깔끔하게 처리할 수 있습니다.