C# 为什么ResizeArray在我的代码中不起作用?

C# 为什么ResizeArray在我的代码中不起作用?,c#,arrays,resize,C#,Arrays,Resize,我对代码有问题: namespace hello { public class Program { public static void Main(string[] args) { int xx = 5; string[,] myArray = new string[1, 5]; if (xx > 4) { Resi

我对代码有问题:

namespace hello
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int xx = 5;
            string[,] myArray = new string[1, 5];
            if (xx > 4)
            {
                ResizeArray(ref myArray, 4, 5);
            }
            else
            {
                ResizeArray(ref myArray, 2, 5);
            }
        }
         void ResizeArray(ref string[,] original, int rows, int cols)
        {
            string[,] newArray = new string[rows, cols];
            Array.Copy(original, newArray, original.Length);
            original = newArray;
        }
    }
}
我收到错误消息:

非静态字段、方法或对象需要对象引用 属性“hello.Program.ResizeArrayref字符串[,],int,int”


静态成员在不创建实例的情况下无法访问非静态成员。 你只需要:

static void ResizeArray(ref string[,] original, int rows, int cols)
可能的副本需要使ResizeArray成为静态的,因为您从静态上下文调用它作为主要方法。