Подтвердить что ты не робот

Как вернуть литерал массива в С#

Я пытаюсь использовать следующий код. Указывается строка с ошибкой.

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

Как я могу вернуть литерал массива как строковые литералы?

4b9b3361

Ответ 1

Возвращает массив int следующим образом:

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

Вы также можете неявно вводить массив - компилятор заключит, что он должен быть int[], потому что он содержит только значения int:

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

Ответ 2

Blorgbeard верен, но вы также можете подумать об использовании нового для .NET 4.0 Tuple. Мне было легче работать, когда у вас есть определенное количество элементов для возврата. Как и в случае, если вам всегда нужно возвращать 3 элемента в вашем массиве, 3-int кортеж дает понять, что это такое.

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

или просто

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

Ответ 3

если массив имеет фиксированный размер, и вы хотите вернуть новый, заполненный нулями

return new int[3];