[c#] C #에서 배열 리터럴을 반환하는 방법

다음 코드를 시도하고 있습니다. 오류가있는 줄이 표시됩니다.

int[] myfunction()
{
    {
      //regular code
    }
    catch (Exception ex)
    {
       return {0,0,0}; //gives error
    }
}

문자열 리터럴과 같은 배열 리터럴을 어떻게 반환 할 수 있습니까?



답변

다음과 int같은 배열을 반환합니다 .

return new int [] { 0, 0, 0 };

암시 적으로 배열을 입력 할 수도 있습니다 . 컴파일러는 값만 int[]포함되어 있어야한다고 추론 int합니다.

return new [] { 0, 0, 0 };


답변

Blorgbeard는 정확하지만 .NET 4.0 Tuple 클래스에 대한 새로운 사용을 고려할 수도 있습니다. 반품 할 항목 수가 정해진 경우 작업하는 것이 더 쉽다는 것을 알았습니다. 배열에서 항상 3 개의 항목을 반환해야하는 경우와 마찬가지로 3-int 튜플은 그것이 무엇인지 명확하게합니다.

return new Tuple<int,int,int>(0,0,0);

또는 단순히

return Tuple.Create(0,0,0);


답변

배열의 크기가 고정되어 있고 0으로 채워진 새 배열을 반환하려는 경우

return new int[3];


답변