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() 메서드를 활용하면 한 줄의 코드로 리스트의 비어 있음 여부를 명확하게 확인할 수 있습니다.