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?
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.
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));
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
Cela fonctionne pour moi:
var strArray = new string[] {"abc","def","asd" };
strArray.ToList().ForEach(Console.WriteLine);
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++;
}