2017-02-08 2 views
1

Я очень новичок в C# и задаюсь вопросом, как мне распечатать список массивов строк? Я могу сделать это из строки [] с помощью Console.WriteLine, но если я сделаю это для списка с помощью forEach, он просто распечатает System.String [], как я могу писать индекс при использовании для каждого?C# Распечатать список массива строк

+0

Используйте индекс и распечатайте его – A3006

+1

, если вы хотите печатать значения массива, вы не можете просто передать массив в 'Console.WriteLine', вы должны либо распечатать каждый элемент массива отдельно, либо преобразовать массив в строку, а затем распечатать эту строку. Например. с 'String.Join (", ", yourArray)' –

ответ

1

Так у вас есть список строковых массивов, как это:

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

К печати на, скажем, Console, вы можете реализовать вложенные циклы:

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

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

Или Join предметов в одиночку string, а затем распечатайте его:

using System.Linq; 
... 

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

Console.Write(report); 

Или объединить оба метода:

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

Это работает для меня:

var strArray = new string[] {"abc","def","asd" }; 
strArray.ToList().ForEach(Console.WriteLine); 
1
string[] arr = new string[2]{"foo","zoo"}; // sample Initialize. 

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

Выход консоли:

foo 
zoo 
0

В массиве строк, чтобы получить индекс вы это делаете:

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

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

Простейший способ заключается в следующем: использовании string.join

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

Надеется, что это помогает.

Смежные вопросы