c# - 具有正确距离的 WriteLine/Print Arraylist
问题描述
我正在寻找一种在控制台中以正确格式打印结果的方法。我有一个数组arraylist,我正在填充一个由三个组成的数组:
List<string[]> testlist = new List<string[]>();
string[] cars = { "AAAAA", "TTTTT", "CC" };
testlist .Add(cars);
string[] car2 = { "A", "T", "C" };
testlist .Add(car2);
当我只使用带有 WriteLine 的 foreach 时,一切都受到标准空间的限制,但我希望每个组的距离相等,就像我使用 gridview 一样:
AAAAA TTTTT CC
A T C
解决方案
计算字符串的最大长度,然后写出用空格填充的字符串(使用PadRight
函数)。
var maxLength = testlist.Max(l => l.Max(s => s.Length));
foreach (var l in testlist)
{
foreach (var s in l)
Console.Write(s.PadRight(maxLength + 1));
Console.WriteLine();
}
推荐阅读
- jquery - 如果 inout 字段的值为 0,则在 laravel 中使用 jquery 删除表行
- css - CSS:有没有可能实现如下布局?
- node.js - 带有 node.js 和请求库的 HTTP POST 没有输出任何内容
- amazon-web-services - AWS Cognito 托管 UI 与支付系统的集成
- reactjs - 在打字稿类中设置未定义的属性
- html - 图片在 Chrome 和 Firefox 中显示,但在 Safari 中不显示
- php - 在同一页面上激活材料化 css 表单?
- arrays - postgresql - 连接 2 个 json 记录(来自 2 个不同的选择语句)
- asp.net - SQL Server - 查询不显示列值为空的行
- python - python3中的编码/解码(伯克利数据库记录)