Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中调用方法填充2d数组#_C#_Arrays_Multidimensional Array_Methods - Fatal编程技术网

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

C# 在C中调用方法填充2d数组#,c#,arrays,multidimensional-array,methods,C#,Arrays,Multidimensional Array,Methods,我是一个非常新的程序员,一直在努力编写一种方法,可以接受任何2D数组,并用1到15的随机整数填充它。我相信我成功地构建了我的方法,但是我似乎不知道如何调用我的方法来填充我在main中创建的数组。(我本可以直接在main中填写,但我也在尝试实践方法。)下面是我到目前为止的代码。我感谢你们能给我的任何帮助,谢谢 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys

我是一个非常新的程序员,一直在努力编写一种方法,可以接受任何2D数组,并用1到15的随机整数填充它。我相信我成功地构建了我的方法,但是我似乎不知道如何调用我的方法来填充我在main中创建的数组。(我本可以直接在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;
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间作业2
{
班级计划
{
静态void Main(字符串[]参数)
{
int[,]myArray=新的int[5,6];
}
公共int[,]填充数组(int i,int j)
{
随机rnd=新随机();
int[,]tempArray=newint[,]{};
对于(i=0;i

}

您的方法不会填充数组-它会创建一个新数组。(也不清楚这些参数的用途。)

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

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

  • 我们不需要返回任何内容,因为调用方已经向我们传递了对要填充的数组的引用
  • 我已经将该方法设置为静态,因为它不需要访问
    程序的任何状态
    实例
  • 一般来说,“按需”创建一个新的
    随机
    实例是一个坏主意;有关更多详细信息,请阅读我的

我认为的第二个
应该是使用
数组
,而不是
临时数组
@DaveZych-你敢质疑无所不知的Jon Skeet?:)@蒂姆:没有人能避免错误:)@DaveZych-是的,我知道。只是无法抗拒评论,因为这是Jon Skeet(TM)的回答:)谢谢Jon!我也感谢所有有用的见解。刚开始读你寄给我的文章!
FillArray(myArray);