调用方法在C#中填充2d数组

时间:2015-09-16 20:54:06

标签: c# arrays multidimensional-array methods

我是一个非常新的程序员,并且一直在努力编写一个方法,可以接受任何2D数组并用1到15的随机整数填充它。我相信我设法正确地构建了我的方法,但我可以&#39 ; t似乎看到如何调用我的方法来填充我在main中创建的数组。 (我本来就把它填满了,但我也试图练习方法。)这是我到目前为止的代码。感谢你们能给我的任何帮助,谢谢!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Homework2
{
class Program
{
    static void Main(string[] args)
    {
        int[,] myArray = new int[5,6];
    }

    public int[,] FillArray (int i, int j)
    {
        Random rnd = new Random();
        int[,] tempArray = new int[,]{};
        for (i = 0; i < tempArray.GetLength(0); i++)
        {
            for (j = 0; j < tempArray.GetLength(1); j++)
            {
                tempArray[i, j] = rnd.Next(1, 15);
            }
        }
        return tempArray;
    }
}

}

1 个答案:

答案 0 :(得分:3)

您的方法没有填充数组 - 它会创建一个新数组。 (它根本不清楚参数的用途。)

如果您希望它填充现有数组,则应将 作为参数:

public static void FillArray(int[,] array)
{
    Random rnd = new Random();
    for (int i = 0; i < array.GetLength(0); i++)
    {
        for (int j = 0; j < array.GetLength(1); j++)
        {
            array[i, j] = rnd.Next(1, 15);
        }
    }
}

然后你可以用Main用:

来调用它
FillArray(myArray);

注意:

  • 我们不需要返回任何内容,因为调用者已经向我们传递了要填充的数组的引用
  • 我已将该方法设为静态,因为它不需要访问Program实例的任何状态
  • 一般情况下,根据需要创建新的Random实例&#34;&#34;是个坏主意;阅读我的article on Random了解更多详情