显示数组的元素

时间:2011-12-10 12:45:17

标签: c# arrays

  1. 我试图从相邻行和列的二维数组中打印四个数字。在数组中输入的数字是:

        404 414 424 434 444
        505 506 507 508 509
        312 313 314 315 316
        822 823 824 825 826
    
  2. 我想要输出

        row1,col2; row1,col3 
        row2,col2; row2,col3
    
  3. 我得到的显示是

        507508
        314315
    
  4. 我希望显示为

        507 508
        314 315   
    
  5. 我写的显示代码是:

      Console. Write Line("Values =>" +array[row,col]  +array[row,col1] );
    
      Console. Write Line("Values =>" +array[row1,col]  +array[row1,col1]  );
    
  6. 我尝试使用双&符号,双引号来增加+ array [row,col]和+ array [row,col1]之间的空格,以获得我想要的显示。我也同样对待代码的下一行。双&符号和双引号没有改变显示;如上文第3段所示,两项变化仍然如此。

  7. &安培;.如何获得如第4段所示的显示?请帮助。

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));
}