在嵌套循环内初始化2维数组

时间:2017-04-29 04:14:07

标签: c# .net arrays

我正在研究一个问题,我需要声明一个名为multiplicationTable的二维数组 它包含4个元素和4个元素。初始化它 一个嵌套循环,包含等于该值的元素 这是两个索引值的乘积 每个元素。在第二个嵌套循环中,显示值 在控制台输出中,列元素用 逗号和用回车符分隔的行元素。这是我到目前为止,由于某种原因不能包围我的大脑解决方案!任何帮助将不胜感激!。

        double[,] multiplicationTable = new double[4, 4];// { {1,2,3,4 }, {5,6,7,8 }, {9,10,11,12 }, {13,14,15,16 } };

        for (int i = 0; i < multiplicationTable.GetLength(0); i++)
        {
            for (int j = 0; j < multiplicationTable.GetLength(1); j++)
            {
                double d = multiplicationTable[i, j];
                if (j < multiplicationTable.GetLength(1) - 1)
                {
                    Console.Write(d + ",");
                }
                else
                {
                    Console.Write(d);
                }
            }
            Console.Write("\n");
        }
        Console.ReadKey();

3 个答案:

答案 0 :(得分:0)

UIPanGestureRecognizer

答案 1 :(得分:0)

为什么不尝试用String.Join方法解决这个问题?它易于使用,可以为您节省很多if-else语句。这是这种方法的样子:

double[,] multiplicationTable = new double[4, 4] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };

for (int i = 0; i < multiplicationTable.GetLength(0); i++)
{
    var temp = new string[4];
    for (int j = 0; j < multiplicationTable.GetLength(1); j++)
    {
        temp[j] = multiplicationTable[i, j].ToString();
    }

    Console.WriteLine(string.Join(",", temp));
}

Console.ReadKey();

答案 2 :(得分:0)

double[,] multiplicationTable = new double[4, 4];

for (int i = 0; i < multiplicationTable.GetLength(0); i++)
{
    var temp = new string[multiplicationTable.GetLength(0)];
    for (int j = 0; j < multiplicationTable.GetLength(1); j++)
    {
        multiplicationTable[i, j] = i * j;
        temp[j] = multiplicationTable[i, j].ToString();
    }

    Console.WriteLine(string.Join(",", temp));
}