C#打印字符串数组列表

Posted

技术标签:

【中文标题】C#打印字符串数组列表【英文标题】:C# Print list of string array 【发布时间】:2017-06-26 00:11:08 【问题描述】:

如何打印字符串数组列表?我可以从string[] 使用Console.WriteLine 执行此操作,但如果我为带有foreach 的列表执行此操作,它只会打印出System.String[]。使用foreach时如何编写索引?

【问题讨论】:

使用索引并打印出来 如果你想打印数组值,你不能只将数组传递给Console.WriteLine,你应该分别打印数组的每一项或将数组转换为字符串然后打印该字符串。例如。 String.Join(",", yourArray) 【参考方案1】:

实现这一点的最简单方法是: 使用 String.Join

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

希望这会有所帮助。

【讨论】:

【参考方案2】:

这对我有用:

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

【讨论】:

【参考方案3】:

所以你有字符串数组列表,像这样:

 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));

【讨论】:

【参考方案4】:
string[] arr = new string[2]"foo","zoo"; // sample Initialize.

// Loop over strings.
foreach (string s in arr)

    Console.WriteLine(s);

控制台输出:

foo
zoo

【讨论】:

【参考方案5】:

在一个字符串数组中获取你做的索引:

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

int counter = 0;
foreach(var name in names.ToList())

 Console.WriteLine(counter.ToString() + ":-" + name);
 counter++;

【讨论】:

以上是关于C#打印字符串数组列表的主要内容,如果未能解决你的问题,请参考以下文章

c#打印一个由通用列表组成的数组列表

如何将 foreach 输出为字符串 c# // g 打印为数组而不是字符串

在 C# 中将字符串拆分为字符串数组列表

C# LINQ 从字符串数组列表中选择

数组列表数组的C#排列?

用于检查字符串列表/数组中的字符串的 C# 最佳实践 (LINQ) [关闭]