【发布时间】:2019-11-05 19:48:36
【问题描述】:
我正在尝试在 C# 中打印一个二维数组。我已成功正确打印列和行,但我无法弄清楚如何让它们正确对齐,所以它是一个正方形。有什么方法可以格式化它,使它看起来像一个合适的正方形? (如形状)
我的代码是
int[,] array1 = new int[6, 6]
{
{10, 20, 10, 20, 21, 99 },
{2, 27, 5, 45, 20, 13 },
{17, 20, 20, 33, 33, 20 },
{21, 35, 15, 54, 20, 37 },
{31, 101, 25, 55, 26, 66 },
{45, 20, 44, 12, 55, 98 }
};`
int Length = array1.GetLength(0);
int Height = array1.GetLength(1);
for (int i = 0; i < Length; i++)
{
for (int j = 0; j < Height; j++)
{
Console.Write(string.Format("{0} ", array1[i, j]));
}
Console.Write("\n" + "\n");
}
【问题讨论】:
-
你只是想left-pad the single-digit numbers加一个空格吗?
-
Console.Write(string.Format("{0,3} ", array1[i, j]));其中3表示从左侧填充到长度3 -
感谢您回答我的问题。
-
只是对@DmitryBychenko 示例的澄清。如果您使用
3,它将在left 上填充。如果您需要它在 right 上填充,请使用-3:Console.Write(string.Format("{0,-3}", array1[i, j]));或使用插值字符串:Console.Write($"{array1[i, j],-3}");