C# 打印字符串数组列表

C# Print list of string array

提问人:atilas1 提问时间:2/8/2017 最后编辑:Federico Navarreteatilas1 更新时间:7/4/2021 访问量:99130

问:

如何打印字符串数组列表?我可以通过使用 来做到这一点,但是如果我这样做,那么它只会打印出来。使用 时如何编写索引?string[]Console.WriteLineforeachSystem.String[]foreach

C# 数组 列表

评论

1赞 A3006 2/8/2017
使用索引并打印
3赞 Sergey Berezovskiy 2/8/2017
如果要打印数组值,则不能只将数组传递给 应分别打印数组的每个项或将数组转换为字符串,然后打印该字符串。例如,使用Console.WriteLineString.Join(",", yourArray)

答:

7赞 Dmitry Bychenko 2/8/2017 #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); 
   }
 }

或者将项目放入单张中,然后打印出来:Joinstring

 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));
7赞 master2080 2/8/2017 #2

这对我有用:

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

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

控制台输出:

foo
zoo
0赞 Rui Estreito 2/8/2017 #4

在字符串数组中获取索引,您可以执行以下操作:

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

int counter = 0;
foreach(var name in names.ToList())
{
 Console.WriteLine(counter.ToString() + ":-" + name);
 counter++;
}
51赞 PulkitG 2/8/2017 #5

实现此目的的最简单方法是: 使用 String.Join

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

希望这会有所帮助。