web-dev-qa-db-fra.com

C # Imprimer la liste du tableau de chaînes

Je suis très nouveau en c # et j'ai une question, comment puis-je imprimer une liste de tableaux de chaînes? Je peux le faire à partir de string [] en utilisant Console.WriteLine, mais si je le fais pour une liste avec forEach, il affiche simplement System.String [], comment puis-je écrire un index lorsque je l'utilise pour chacun?

3
atilas1

La manière la plus simple est la suivante: Using String.Join

string[] arr = new string[] { "one", "two", "three", "four" };
Console.WriteLine(String.Join("\n", sarr)); 

J'espère que cela t'aides.

10
PulkitG

Donc vous avez liste de tableaux de chaînes , comme ceci:

 List<string[]> data = new List<string[]>() {
   new string[] {"A", "B", "C"},
   new string[] {"1", "2"},
   new string[] {"x", "yyyy", "zzz", "final"},
 };

Pour imprimer sur, par exemple, la Console, vous pouvez implémenter boucles imbriquées :

 foreach (var array in data) {
   Console.WriteLine();

   foreach (var item in array) {
     Console.Write(" ");
     Console.Write(item); 
   }
 }

Ou Join les éléments dans l'unique string puis imprimez-le:

 using System.Linq;
 ...

 string report = string.Join(Environment.NewLine, data
   .Select(array => string.Join(" ", array)));

 Console.Write(report);

Ou combinez les deux méthodes:

 foreach (var array in data) 
   Console.WriteLine(string.Join(" ", array));
2
Dmitry Bychenko
string[] arr = new string[2]{"foo","Zoo"}; // sample Initialize.

// Loop over strings.
foreach (string s in arr)
{
    Console.WriteLine(s);
}

La sortie de la console:

foo
Zoo
2
user114649

Cela fonctionne pour moi:

var strArray = new string[] {"abc","def","asd" };
strArray.ToList().ForEach(Console.WriteLine);
0
master2080

Dans un tableau de chaînes pour obtenir l'index, vous le faites: 

string[] names = new string[3] { "Matt", "Joanne", "Robert" };

int counter = 0;
foreach(var name in names.ToList())
{
 Console.WriteLine(counter.ToString() + ":-" + name);
 counter++;
}
0
Rui Estreito