无法分配数组的第一个元素

时间:2019-03-25 11:23:39

标签: c#

我制作了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;
}

3 个答案:

答案 0 :(得分:3)

您正在将类成员与局部变量混合在一起,不能同时使用它们。

您要么需要在方法中使用变量语法

int[] coordinateX = new int[50];
coordinateX[0] = 21;
int[] coordinateY = new int[50];
coordinateY[0] = 11;

方法外的成员语法,其中可能包括诸如访问修饰符public privatestatic(及其他)关键字之类的内容

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)

是的,初始化可以与声明一起完成,也可以在构造函数或任何其他函数中完成。

类定义只能包含声明语句。