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 foreach
drukt 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 Join
in de enkele string
en 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++;
}