Estoy probando el siguiente código. Se señala la línea con el error.
int[] myfunction()
{
{
//regular code
}
catch (Exception ex)
{
return {0,0,0}; //gives error
}
}
¿Cómo puedo devolver un literal de matriz como literales de cadena?

constcampos. Este no es el caso de la sintaxis de inicialización de matrices.Respuestas:
Devuelve una matriz
intcomo esta:return new int [] { 0, 0, 0 };También puede escribir implícitamente la matriz ; el compilador inferirá que debería ser
int[]porque contiene solointvalores:return new [] { 0, 0, 0 };fuente
new int [] {0,0,0}también funciona. Sería más claro en mi opinión.Blorgbeard es correcto, pero también podría pensar en usar la nueva clase Tuple de .NET 4.0. Descubrí que es más fácil trabajar cuando tienes una cantidad determinada de artículos para devolver. Como si siempre necesita devolver 3 elementos en su matriz, una tupla de 3 int deja en claro de qué se trata.
return new Tuple<int,int,int>(0,0,0);o simplemente
return Tuple.Create(0,0,0);fuente
return new List<int>(new int[]{0,0,0});List<int>(Enumerable.Repeat(0, 3))sería mejor?si la matriz tiene un tamaño fijo y desea devolver una nueva llena de ceros
return new int[3];fuente