我试图从相邻行和列的二维数组中打印四个数字。在数组中输入的数字是:
404 414 424 434 444
505 506 507 508 509
312 313 314 315 316
822 823 824 825 826
我想要输出
row1,col2; row1,col3
row2,col2; row2,col3
我得到的显示是
507508
314315
我希望显示为
507 508
314 315
我写的显示代码是:
Console. Write Line("Values =>" +array[row,col] +array[row,col1] );
Console. Write Line("Values =>" +array[row1,col] +array[row1,col1] );
我尝试使用双&符号,双引号来增加+ array [row,col]和+ array [row,col1]之间的空格,以获得我想要的显示。我也同样对待代码的下一行。双&符号和双引号没有改变显示;如上文第3段所示,两项变化仍然如此。
&安培;.如何获得如第4段所示的显示?请帮助。
答案 0 :(得分:4)
执行此操作时:
"Values =>" +array[row,col] +array[row,col1]
您将数组单元格的值直接连接在一起,没有任何空格。
您需要在它们之间添加空格:
"Values =>" + array[row,col] + " " + array[row,col1]
更好的方法是使用format strings,其中空格嵌入在格式化字符串中:
Console.WriteLine("Values => {0} {1}", array[row,col], array[row,col1]);
答案 1 :(得分:2)
好吧,加一个空格:
Console.WriteLine("Values =>" +array[row1,col] + " " + array[row1,col1] );
答案 2 :(得分:2)
尝试
Console.WriteLine("Values => {0} {1}", array[row,col], array[row,col1]);
答案 3 :(得分:0)
您可以按如下方式使用string.Join:
Console.WriteLine(string.Join(" ", array[row, col], array[row, col]));
添加更多数组元素更容易。
然而,使用锯齿状阵列会更有效(如果可能的话)。同样的任务更简单,允许您使用行范围和列范围。检查草稿示例。
// your array as jagged array
int[][] jtest = {
new int[] { 404, 414, 424, 434, 444 },
new int[] { 505, 506, 507, 508, 509 },
new int[] { 312, 313, 314, 315, 316 },
new int[] { 822, 823, 824, 825, 826 }
};
// definitions for row ranges
int firstRow = 1; int lastRow = 2;
// definitions for col ranges
int firstCol = 2; int lastCol = 3;
// int array for copying row elements in col range
int[] dump = new int[lastCol - firstCol + 1];
// do it
for (var i = firstRow; i <= lastRow; i++)
{
Array.Copy(jtest[i], firstCol, dump, 0, dump.Length);
Console.WriteLine(string.Join(" ", dump));
}