我制作了2个数组来存储需要的整数。 然后,我尝试分配这些数组的第1个元素,但是它说“该名称在当前conexts中不存在”。怎么可能呢?
由于这些数组是静态的,因此我尝试在另一个类中分配0-index元素,并且它起作用了。但是我需要在这里分配它们。
class Program
{
public static int[] coordinateX = new int[50];
coordinateX[0] = 21;
public static int[] coordinateY = new int[50];
coordinateY[0] = 11;
}
答案 0 :(得分:3)
您正在将类成员与局部变量混合在一起,不能同时使用它们。
您要么需要在方法中使用变量语法
int[] coordinateX = new int[50];
coordinateX[0] = 21;
int[] coordinateY = new int[50];
coordinateY[0] = 11;
方法外的成员语法,其中可能包括诸如访问修饰符(public
private
)static
(及其他)关键字之类的内容
public static int[] coordinateX = new int[50];
public static int[] coordinateY = new int[50];
public static void Main(string[] args)
{
coordinateX[0] = 21;
coordinateY[0] = 11;
}
此时,最好阅读文档
Classes (C# Programming Guide)
public class Customer
{
// Fields, properties, methods and events go here...
}
Methods (C# Programming Guide)
public static void Main(string[] args)
{
// local variable and stuff here
}
答案 1 :(得分:0)
您可以显示更多代码吗?
如果上面的代码段在一个类中,那么您需要定义一个函数或构造函数以将索引0更改为一个值:
例如
public class CName
{
public static int[] coordinateX = new int[50];
static CName()
{
coordinateX[0] = 21;
}
}
答案 2 :(得分:0)
是的,初始化可以与声明一起完成,也可以在构造函数或任何其他函数中完成。
类定义只能包含声明语句。