我正在尝试将一些输出格式化到控制台,但解决方案存在一些问题。
我在 C# 中执行此操作,但每次调用 Console.Write 时,它都会将整个内容打印到控制台的最后,然后开始一个新行。所以我想做的是将其调整为四列,然后在那里开始一个新行。
以下是控制台中输出应如下所示的正确方式:
Sam John Bob Adam
Kelly Nolan Carl Tim
Tom David
这是我的结果,但它的方式是错误的:
Sam John Bob Adam Kelly Nolan Carl Tim
Tom David
如果您有任何想法请提供
我会写一些管理填充和布局的东西..也许是这样的?
class ConsoleColumnFormatter {
private int _columnWidth = 20;
private int _numColumns = 4;
private int _currentColumn = 0;
public ConsoleColumnFormatter(int numColumns, int columnWidth) {
_numColumns = numColumns;
_columnWidth = columnWidth;
}
public void Write(string str) {
Console.Write(str.PadRight(_columnWidth - str.Length, ' '));
_currentColumn++;
checkForNewLine();
}
private void checkForNewLine() {
if (_currentColumn >= _numColumns) {
Console.Write("\n");
_currentColumn = 0;
}
}
}
This:
ConsoleColumnFormatter formatter = new ConsoleColumnFormatter(4, 20);
for (int i = 1; i <= 10; i++)
formatter.Write("Column " + i.ToString());
..产生,这个:
Column 1 Column 2 Column 3 Column 4
Column 5 Column 6 Column 7 Column 8
Column 9 Column 10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)