[ Foro de C# ]

Inicializar un array en C#

29-May-2015 20:19
Invitado (jm)
1 Respuestas

Buenas,

era para preguntar si hay alguna forma de inicializar una Array entero a un valor, me explico en el caso de una array de booleanos el valor por defecto es false si quisiera que para ese array en concreto fuesen todos true, ¿Hay que caer en el for o hay alguna forma más compacta?

Gracias


29-May-2015 20:38
Nacho Cabanes (+83)

Varias formas:

a) La que es sencilla y no falla, es hacer un "for" específico para la ocasión.

b) La alternativa "fashion" es imitar el "Populate" de Java, creando un método que funcione en cualquier array de cualquier tipo, así:


public static void Populate<T>(this T[] arr, T value ) {
  for ( int i = 0; i < arr.Length;i++ ) {
    arr[i] = value;
  }
}


c) Usar "Enumerable.Repeat" para crear una enumeración de muchos elementos y convertirla a un array (es lento si son muchos datos)


int[] miArray = Enumerable.Repeat(valorNumerico, tamanyoDelArray).ToArray();


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)