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成为静态的,因为您从静态上下文调用它作为主要方法。