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

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

【问题讨论】:

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

标签: c# arrays list


【解决方案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++;
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-06-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多