컴파일러 오류 CS1920

업데이트: 2007년 11월

오류 메시지

요소 이니셜라이저는 비워 둘 수 없습니다.
Element initializer cannot be empty.

컬렉션 이니셜라이저는 요소 이니셜라이저의 시퀀스로 구성됩니다. 요소 이니셜라이저에 할당식이 없으면 중괄호로 묶을 필요가 없습니다. 그러나 중괄호를 제공하는 경우에는 해당 중괄호를 비워 둘 수 없습니다. 요소 이니셜라이저가 개체 이니셜라이저이면 이니셜라이저에 새 개체 생성 식이 있을 때만 중괄호를 비워 둘 수 있습니다.

이 오류를 해결하려면

  • 중괄호 사이에 누락된 식을 추가합니다.

  • 식이 개체 이니셜라이저가 되어야 하는 경우 중괄호 앞에 새 개체 생성 식을 추가합니다.

예제

다음 예제에서는 CS1920 오류가 발생하는 경우를 보여 줍니다.

  // cs1920.cs
using System.Collections.Generic;
public class Test
{
    public static int Main()
    {
        // Error. Empty initializer 
        // for inner list.
        List<List<int>> collection =
            new List<List<int>>() { { } }; // CS1920

        // OK. No initializer for inner list.
        List<List<int>> collection2 =
            new List<List<int>>() {  };

        // OK. Inner list is initialized 
        // to one List<int> with zero elements.
        List<List<int>> collection3 =
            new List<List<int>>() { new List<int> { } };
        return 0;
    }
}

참고 항목

참조

개체 및 컬렉션 이니셜라이저(C# 프로그래밍 가이드)