Почему ResizeArray не работает в моем коде? - PullRequest
0 голосов
/ 23 июня 2019

У меня проблема с кодом:

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.ResizeArray (ref строка [, ], int, int)'

1 Ответ

1 голос
/ 23 июня 2019

Статические члены не могут получить доступ к нестатическому члену без создания экземпляра.Вам просто нужно:

static void ResizeArray(ref string[,] original, int rows, int cols)
...