C# 컬렉션 식

C# 12 부터 C#에서 컬렉션 식을 사용할 수 있게 되었어요. 컬렉션 식은 대괄호 []로 1차원 배열을 표현할 수 있어요.

Span<string> weekDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
foreach (var day in weekDays)
{
    Console.WriteLine(day);
}

컬렉션 식은 배열, List<>, Span<>등 다양한 목록형 형식을 지원해요.

  • Span<T>, ReadOnlyspan<T>
  • 배열
  • 컬렉션 이니셜라이저를 지원하는 모든 형식

특히 컬렉션 식은 Span<> 형식을 효과적으로 사용할 수 있게 해요. Span<> 형식은 스택에만 존재할 수 있는데 컬렉션 식을 사용하면 바로 스택에 목록을 생성할 수 있어요.

또 다른 목록을 스프레드 .. 연결을 통해 합칠 수 있어요.

또한 컬렉션 식은 패턴 매칭에 사용할 수 있어요.

int[] numbers = { 1, 2, 3 };

Console.WriteLine(numbers is [1, 2, 3]);  // True
Console.WriteLine(numbers is [1, 2, 4]);  // False
Console.WriteLine(numbers is [1, 2, 3, 4]);  // False
Console.WriteLine(numbers is [0 or 1, <= 2, >= 3]);  // True

2025년 릴리스될 C# 14에는 사전 컬렉션 식도 지원하게 된다고 해요!