C#如何将数据从二维数组写入文本文件并在列中设置格式?

问题描述

因此,我有一个二维数组,我想将所有数据写入文本文件。但是我希望它们出现在文本文件的列中。

(我没有在代码中像这样声明它们,但是我认为这就是数组看起来像写出来的样子):

myArray = [{Jamie,5},{Susan,7},{Robert,2},{Sam,9}];

我希望在文本文件中看起来像这样:

Jamie    5
Susan    7
Robert   2
Sam      9

我看过其他答案,例如How to write contents of an array to a text file? C#Format a string into columns,但我觉得它们只是回答了我一半的问题,我也不理解。

到目前为止,我有

using (StreamWriter sw = new StreamWriter(@"../../test.txt",false))
{
   foreach ()
   {
   }
}

我不确定foreach()应该包含什么。

我该怎么做?

解决方法

一种简单的方法是:

  1. 迭代所有需要输出并存储最长字符串长度的字符串。
  2. 再次迭代所有项目;使用两个嵌套循环(行和列)似乎是个好主意。
  3. 将在第2步中迭代的每个项目写到右边,并留有足够的空格以说明列间距和第1步的最长长度。string.PadRight似乎是一个不错的选择。

您完成了。

当然,您可能会更喜欢并存储每列的最长长度,然后用特定长度填充每列...