Share via


컴파일러 오류 CS0826

업데이트: 2007년 11월

오류 메시지

암시적으로 형식화된 배열에 가장 적합한 형식이 없습니다.
No best type found for implicitly typed array.

배열 요소는 모두 동일한 형식이어야 하거나 컴파일러에서 사용하는 형식 유추 규칙에 따라 동일한 형식으로 암시적으로 변환할 수 있어야 합니다. 가장 적합한 형식은 배열 식에 있는 형식 중 하나여야 합니다. 요소는 object와 같은 새 형식으로 변환되지 않습니다. 암시적으로 형식화된 배열의 경우 컴파일러는 할당된 요소 형식을 기준으로 배열 형식을 유추해야 합니다.

이 오류를 해결하려면

  • 배열에 명시적 형식을 지정합니다.

  • 모든 배열 요소에 동일한 형식을 지정합니다.

  • 문제를 일으킬 수 있는 요소에서 명시적 캐스트를 제공합니다.

예제

다음 코드에서는 배열 요소의 형식이 모두 동일하지는 않으며 컴파일러의 형식 유추 논리가 가장 적합한 형식 하나를 찾지 못했기 때문에 CS0826 오류가 발생하는 경우를 보여 줍니다.

// cs0826.cs
public class C
{
    public static int Main()
    {
        var x = new[] { 1, "str" }; // CS0826

        char c = 'c';
        short s1 = 0;
        short s2 = -0;
        short s3 = 1;
        short s4 = -1;
            
        var array1 = new[] { s1, s2, s3, s4, c, '1' }; // CS0826
        return 1;
    }
}

참고 항목

참조

암시적으로 형식화된 지역 변수(C# 프로그래밍 가이드)