C# 在C语言中为数组元素赋值#

C# 在C语言中为数组元素赋值#,c#,arrays,C#,Arrays,我对C#非常陌生,在研究C#中的数组时,我创建了一个小示例,尝试为数组赋值。但是,每次编译器都会给出错误: 数组名称在当前上下文中不存在 我的代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Calculator { int sum; int[] EvenArr

我对C#非常陌生,在研究C#中的
数组
时,我创建了一个小示例,尝试为
数组
赋值。但是,每次编译器都会给出错误:

数组名称在当前上下文中不存在

我的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class Calculator
{
    int sum;
    int[] EvenArray;
    List<int> evenNumbers = new List<int>();
    string[] randomNames = new string[10];

    //This line gives an complie time error, as randomNames doesn't exist in current context
    randomNames[0]="Savresh";
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
公共类计算器
{
整数和;
整数数组;
列表编号=新列表();
字符串[]随机名称=新字符串[10];
//这一行给出了一个complie时间错误,因为当前上下文中不存在随机名称
随机名称[0]=“Savresh”;
}

您需要将其放入一个方法中。如果数组不在数组中,则无法为数组赋值

private void MyMethod() {
    randomNames[0] = "Savresh";
}

不能在初始化和方法之外设置(数组的,但适用于所有类型)项。将
randomNames[0]=“Savresh”
移动到方法内部,例如
static void Main
。执行操作(字段声明和初始值设定项除外)的代码需要进入方法;顺便说一句,我得到的编译器消息是CS0270“数组大小不能在变量声明中指定(尝试使用“新”表达式初始化)”和CS1519“类、结构或接口成员声明中的无效标记”=”—与当前上下文中不存在无关—可能只是不同的编译器版本,所有集合类都是这样吗?大多数执行操作的对象都是这样。例如,向数组添加值、对对象调用方法等必须在方法内部完成。赋值可以在方法块之外完成。@user3899906展开:类型和变量的声明可以直接在任何方法之外的类中完成。此类变量将与类中的所有方法共享。这种degration还可以包括初始值的赋值。本质上,其他一切都是代码语句,必须在方法声明中完成。