【发布时间】:2021-02-07 19:06:17
【问题描述】:
我想解释一下我做错了什么。我粘贴了两个代码块;一个工作另一个不工作。第一个代码有效,因为初始值被传递到方法“MyGreatMethod”中,我可以看到它们:
public class Something
{
private int [] MyArray = new int [3];
public Something()
{
MyArray[0] = 100;
MyArray[1] = 200;
MyArray[2] = 300;
}
public void MyGreatMethod()
{
Console.WriteLine(MyArray[0] / 3);
Console.WriteLine(MyArray[1] / 3);
Console.WriteLine(MyArray[2] / 3);
}
}
但是如果我以这种方式将值放入“MyArray”(见下文),“MyGreatMethod”方法会从构造函数中获取 NULL,我做错了什么?请帮忙..
public class Something
{
private int [] MyArray = new int [3];
public Something()
{
int[] MyArray = {100,200,300};
}
public void MyGreatMethod()
{
Console.WriteLine(MyArray[0] / 3);
Console.WriteLine(MyArray[1] / 3);
Console.WriteLine(MyArray[2] / 3);
}
}
【问题讨论】:
-
是局部变量。尝试删除 int[]
-
这是因为在第二个 sn-p 中,您正在初始化一个名为
MyArray的 局部变量,而不是名为MyArray的 实例字段
标签: c# arrays class methods constructor