2012-01-21 4 views

Répondre

17

Vous pouvez utiliser la méthode de chaîne Join(), comme ceci:

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

Ce imprimera les éléments du tableau convertis en string, séparés par ", ".

+0

erreur lors de l'utilisation du code ci-dessus. le code ci-dessus n'a pas pu être compilé –

+1

@AdamLee C'est une faute de frappe: j'ai mis une accolade à la fin de la ligne au lieu d'une accolade régulière. Il est maintenant fixé. P.S. Downvoting sur une faute de frappe facile n'est pas une bonne pratique. – dasblinkenlight

+0

Malheureusement, votre réponse ne peut toujours pas être compilée. La meilleure méthode surchargée pour 'string.Join (string, string [])' a quelques arguments invalides –

9

Vous pouvez utiliser une doublure suivant pour imprimer un tableau

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

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

Vous pouvez écrire une méthode d'extension quelque chose comme ceci

espace de noms

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

J'aime la solution @dasblinkenlight, mais je voudrais noter que l'instruction select n'est pas nessasary.

Ce code produit le même résultat pour un tableau de chaînes:

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

Je trouve un peu plus facile sur les yeux ayant moins de code à lire.

(linqpad est une application fantastique pour tester des extraits de code comme celui-ci.)

+2

Bonne réponse, mais cela dépend de la version du framework que vous utilisez et si vous voulez être capable de gérer des tableaux de tout type - le framework 4+ a la chaîne 'string.Join (string, object [])' Par conséquent, votre méthode est limitée aux tableaux de chaînes dans les versions antérieures du framework ([msdn] (http://msdn.microsoft.com/fr-fr/library/dd988350.aspx)) –

Questions connexes