2012-01-21 20 views

Respuesta

17

Puede utilizar el método de cadena Join(), así:

Console.WriteLine("My array: {0}", 
    string.Join(", ", myArray.Select(v => v.ToString())) 
); 

Esto imprimirá elementos de la matriz convertidos a string, separadas por ", ".

+0

error al usar el código anterior. el código anterior no pudo compilar –

+1

@AdamLee Eso es un error tipográfico: puse una llave al final de la línea en lugar de una normal. Ahora está arreglado. PD Bajar votos sobre un error de ortografía fácil de detectar no es una buena práctica. – dasblinkenlight

+0

Desafortunadamente, su respuesta todavía no se puede compilar. La mejor coincidencia de método sobrecargado para 'string.Join (string, string [])' tiene algunos argumentos inválidos –

9

Usted puede utilizar el siguiente un trazador de líneas para imprimir una matriz

int[] array = new int[] { 1 , 2 , 3 , 4 }; 

Array.ForEach(array , x => Console.WriteLine(x)); 
2

Se puede escribir un método de extensión algo como esto

espacio de nombres ConsoleApplication12 { class Program {

static void Main(string[] args) 
    { 
     var items = new []{ 1, 2, 3, 4, 5 }; 
     items.PrintArray(); 
    } 
} 

static class ArrayExtensions 
{ 
    public static void PrintArray<T>(this IEnumerable<T> elements) 
    { 
     foreach (var element in elements) 
     { 
      Console.WriteLine(element); 
     } 
    } 
} 

}

3

Me gusta la solución @dasblinkenlight, pero me gustaría señalar que la declaración seleccionada no es nessasary.

Este código produce el mismo resultado para una matriz de cadenas:

string[] myArray = {"String 1", "String 2", "More strings"}; 
Console.WriteLine("My array: {0}", string.Join(", ", myArray)); 

Me resulta un poco más fácil en los ojos que tienen menos código a leer.

(linqpad es una aplicación fantástica para probar fragmentos de código como este.)

+2

Buena respuesta, pero depende de la versión del marco que esté utilizando y de si desea poder manejar matrices de cualquier tipo: solo el marco 4+ tiene la sobrecarga 'string.Join (string, object [])' , por lo que su método está limitado a matrices de cadenas en versiones anteriores de framework ([msdn] (http://msdn.microsoft.com/en-us/library/dd988350.aspx)) –

Cuestiones relacionadas