C# - 리스트에서 빈 문자열, null 제거

리스트의 요소들 중에서 빈 문자열 또는 null을 제거하는 방법을 소개합니다.

1. 빈 문자열 제거

List.RemoveAll(match)는 리스트의 요소들 중에 match 조건에 해당하는 요소들을 모두 제거합니다.

RemoveAll(s => s == "")처럼 빈 문자열을 체크하여 요소들을 제거할 수 있습니다.

using System;

namespace Example {

    public class Program {

        public static void Main(string[] args) {

            List<string> list = new List<string>() {"a", "", "b", "", "c"};

            list.RemoveAll(s => s == "");

            Console.WriteLine(string.Join(", ", list));
        }
    }
}

Output:

a, b, c

2. 빈 문자열, null 제거

아래와 같이 요소가 빈 문자열 또는 null인지 체크하여 제거할 수 있습니다.

List<string> list = new List<string>() {"a", "", "b", "", "c", null, "d"};

list.RemoveAll(s => s == "" || s == null);

Console.WriteLine(string.Join(", ", list));

Output:

a, b, c, d

2.1 string.IsNullOrEmpty()

string.IsNullOrEmpty()는 인자로 전달된 문자열이 null이거나 empty일 때 true를 리턴합니다.

이 함수를 이용하면 위의 예제보다 더 간단한 코드로 null 또는 empty string을 제거할 수 있습니다.

List<string> list = new List<string>() {"a", "", "b", "", "c", null, "d"};

list.RemoveAll(s => string.IsNullOrEmpty(s));

Console.WriteLine(string.Join(", ", list));

Output:

a, b, c, d

3. 빈 문자열, 공백, null 제거

string.IsNullOrWhiteSpace()는 인자로 전달된 문자열이 빈 문자열, 공백(white space), null일 때 true를 리턴합니다.

IsNullOrWhiteSpace()를 이용하여 아래와 같이 요소들을 제거할 수 있습니다.

List<string> list = new List<string>() {"a", "", "b", "  ", "c", null, "d"};

list.RemoveAll(s => string.IsNullOrWhiteSpace(s));

Console.WriteLine(string.Join(", ", list));

Output:

a, b, c, d
Loading script...
codechachaCopyright ©2019 codechacha