2012-01-21 8 views

risposta

17

È possibile utilizzare il metodo di stringa Join(), in questo modo:

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

Questo stamperà elementi di un array convertiti in string, separati da ", ".

+0

errore quando si utilizza il codice precedente. il codice sopra non è riuscito a compilare –

+1

@AdamLee Questo è un errore di battitura: ho messo una parentesi graffa alla fine della linea invece di una normale. Ora è risolto. Post scriptum Il downvoting su un refuso facilmente individuabile non è una buona pratica. – dasblinkenlight

+0

Sfortunatamente, la tua risposta non può ancora essere compilata. La migliore corrispondenza del metodo overload per 'string.Join (string, string [])' ha alcuni argomenti non validi –

9

È possibile utilizzare il seguente uno di linea per stampare una serie

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

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

È possibile scrivere un metodo di estensione qualcosa di simile

namespace ConsoleApplication12 { classe Programma {

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

Mi piace la soluzione @dasblinkenlight, ma mi piacerebbe notare che l'istruzione select non è nessasary.

Questo codice produce lo stesso risultato per un array di stringhe:

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

lo trovo un po 'più facile per gli occhi con meno codice per leggere.

(linqpad è un applicazione fantastica per testare gli snippet di codice come questo.)

+2

Buona risposta, ma dipende dalla versione del framework che stai usando e se vuoi essere in grado di gestire array di qualsiasi tipo - solo framework 4+ ha il sovraccarico 'string.Join (string, object [])' , quindi il tuo metodo è limitato agli array di stringhe nelle versioni precedenti del framework ([msdn] (http://msdn.microsoft.com/en-us/library/dd988350.aspx)) –

Problemi correlati