首页 > 解决方案 > C#如何将二维数组中的数据写入文本文件并将它们格式化为列?

问题描述

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

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

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

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

Jamie    5
Susan    7
Robert   2
Sam      9

我查看了其他答案,例如如何将数组的内容写入文本文件?C#Format a string into columns但我觉得他们只回答了我的问题的一半,我也不明白。

到目前为止,我所拥有的是:

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

我不确定我应该在 foreach() 中有什么。

我该怎么做呢?

标签: c#arraysstreamwriter

解决方案


一种简单的方法是:

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

你完成了。

当然,你可以变得更漂亮并存储每列的最长长度,然后用它的特定长度填充每列......


推荐阅读