컴파일러 오류 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;
}
}