Reputation: 441
How do I print a list of string arrays? I can do it from string[]
using Console.WriteLine
, but if I do that for a list with foreach
it just prints out System.String[]
. How do I write an index when using a foreach
?
Upvotes: 27
Views: 111546
Reputation: 662
The simplest way to achieve this is: using String.Join
string[] arr = new string[] { "one", "two", "three", "four" };
Console.WriteLine(String.Join("\n", arr));
Hope this helps.
Upvotes: 56
Reputation: 31
string[] arr = new string[2]{"foo","zoo"}; // sample Initialize.
// Loop over strings.
foreach (string s in arr)
{
Console.WriteLine(s);
}
The console output:
foo
zoo
Upvotes: 3
Reputation: 270
In a string array to get the index you do it:
string[] names = new string[3] { "Matt", "Joanne", "Robert" };
int counter = 0;
foreach(var name in names.ToList())
{
Console.WriteLine(counter.ToString() + ":-" + name);
counter++;
}
Upvotes: -1
Reputation: 186833
So you have list of string arrays, like this:
List<string[]> data = new List<string[]>() {
new string[] {"A", "B", "C"},
new string[] {"1", "2"},
new string[] {"x", "yyyy", "zzz", "final"},
};
To print on, say, the Console
, you can implement nested loops:
foreach (var array in data) {
Console.WriteLine();
foreach (var item in array) {
Console.Write(" ");
Console.Write(item);
}
}
Or Join
the items into the single string
and then print it:
using System.Linq;
...
string report = string.Join(Environment.NewLine, data
.Select(array => string.Join(" ", array)));
Console.Write(report);
Or combine both methods:
foreach (var array in data)
Console.WriteLine(string.Join(" ", array));
Upvotes: 8
Reputation: 371
This works for me:
var strArray = new string[] {"abc","def","asd" };
strArray.ToList().ForEach(Console.WriteLine);
Upvotes: 9