C# Lijst met stringarray afdrukken

Hoe druk ik een lijst met tekenreeksarrays af? Ik kan het doen vanuit string[]met behulp van Console.WriteLine, maar als ik dat doe voor een lijst met foreachdrukt het gewoon System.String[]. Hoe schrijf ik een index bij gebruik van een foreach?


Antwoord 1, autoriteit 100%

De eenvoudigste manier om dit te bereiken is:
met behulp van String.Join

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

Hopelijk helpt dit.


Antwoord 2, autoriteit 11%

Dit werkt voor mij:

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

Antwoord 3, autoriteit 11%

Dus je hebt een lijst met string-arrays, zoals deze:

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

Om af te drukkenop bijvoorbeeld de Console, kun je geneste loopsimplementeren:

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

Of Joinin de enkele stringen druk deze vervolgens af:

using System.Linq;
 ...
 string report = string.Join(Environment.NewLine, data
   .Select(array => string.Join(" ", array)));
 Console.Write(report);

Of combineerbeide methoden:

foreach (var array in data) 
   Console.WriteLine(string.Join(" ", array));

Antwoord 4, autoriteit 6%

string[] arr = new string[2]{"foo","zoo"}; // sample Initialize.
// Loop over strings.
foreach (string s in arr)
{
    Console.WriteLine(s);
}

De console-uitvoer:

foo
zoo

Antwoord 5

In een stringarray om de index te krijgen doe je het:

string[] names = new string[3] { "Matt", "Joanne", "Robert" };
int counter = 0;
foreach(var name in names.ToList())
{
 Console.WriteLine(counter.ToString() + ":-" + name);
 counter++;
}

Other episodes