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

C#에서 리스트(List)가 비어 있는지 확인하는 방법

C#에서 리스트가 비어 있는지 확인하려면 Any() 메서드를 사용하는 것이 가장 간단하고 효율적인 방법입니다. Any()는 System.Linq 네임스페이스에 포함된 확장 메서드로, 리스트에 요소가 하나라도 존재하는지 여부를 빠르게 판별할 수 있습니다.

1. 리스트 생성하기

먼저 확인할 리스트를 다음과 같이 생성합니다.

var subjects = new List<string>();
subjects.Add("Maths");
subjects.Add("Java");
subjects.Add("English");
subjects.Add("Science");
subjects.Add("Physics");
subjects.Add("Chemistry");

2. Any() 메서드로 비어 있는지 확인하기

리스트가 비어 있는지 검사하려면 Any()의 결과를 반전시켜 조건문으로 처리합니다. 요소가 하나도 없으면 Any()는 false를 반환하므로, !subjects.Any()가 true일 때 리스트가 비어 있다고 판단할 수 있습니다.

bool isEmpty = !subjects.Any();
if(isEmpty) {
    Console.WriteLine("Empty");
} else {
    Console.WriteLine("List is not empty");
}

참고로 Count == 0을 사용해 비어 있는지 확인할 수도 있지만, Any()는 첫 번째 요소만 검사하고 바로 결과를 반환하기 때문에 대용량 컬렉션에서 더 효율적입니다.

3. 전체 예제 코드

다음은 위 내용을 모두 포함한 완성된 코드입니다.

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

public class Demo {
    public static void Main(string[] args) {
        var subjects = new List<string>();
        subjects.Add("Maths");
        subjects.Add("Java");
        subjects.Add("English");
        subjects.Add("Science");
        subjects.Add("Physics");
        subjects.Add("Chemistry");

        foreach (var sub in subjects) {
            Console.WriteLine(sub);
        }

        bool isEmpty = !subjects.Any();
        if(isEmpty) {
            Console.WriteLine("Empty");
        } else {
            Console.WriteLine("List is not empty");
        }
    }
}

실행 결과

Maths
Java
English
Science
Physics
Chemistry
List is not empty

이처럼 LINQ의 Any() 메서드를 활용하면 한 줄의 코드로 리스트의 비어 있음 여부를 명확하게 확인할 수 있습니다.