c# - 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() 中有什么。
我该怎么做呢?
解决方案
一种简单的方法是:
- 迭代您需要输出的所有字符串并存储最长字符串的长度。
- 再次迭代所有项目;使用两个嵌套循环(行和列)似乎是个好主意。
- 编写您在第 2 步中迭代的每个项目,并在右侧填充足够的空格以说明列间距和第 1 步的最长长度。
string.PadRight
似乎是一个不错的选择。
你完成了。
当然,你可以变得更漂亮并存储每列的最长长度,然后用它的特定长度填充每列......
推荐阅读
- c++ - 将 double 值转换为 char 变量时 stringstream 如何工作
- java - Google Nearby Messages API:尝试从非活动上下文执行高功率操作
- python - 使用 asyncio 在后台运行 bleak(python 库)
- javascript - 加载主 div 后,如何运行淡出加载 div?
- ios - 将信息从集合视图传递到表视图
- oculus - React-360 Oculus Quest 不会进入 VR 模式
- php - 如何撤消 php artisan storage:link 命令删除所有存储文件夹内容
- performance - 高延迟客户端会影响服务器上其他请求的处理时间吗?
- leaflet - 如何从传单中的地图中删除所有特征组?
- angular - 如何配置我的 Angular 库以依赖 Angular Material?