我对C#数组有一个看似基本的问题.我是一个初学者,但这是一个非常基本的问题,现在已经让我穿了半个多小时.我正在使用C#2010 Express.
这段代码: -
string[] motionCam = new string[8];
motionCam[1] = "Stop";
Run Code Online (Sandbox Code Playgroud)
报告错误:
无法在变量声明中指定数组大小(尝试使用'new'表达式初始化)
即使我从教育网站复制和粘贴的基本数组示例报告同样的错误,我也不知道为什么.
Eri*_*ert 11
另一个答案表明你不能将这行代码放在类声明中但在方法体之外是正确的.我认为描述为什么你得到奇怪的错误信息可能会很有趣.编译器正在拼命试图弄清楚你的意思X[Y] = Z;,并假设你的意思是:
X[] F = Z;
Run Code Online (Sandbox Code Playgroud)
也就是说,您不小心将数组的大小放在数组声明中 - 这是最近学习过C#的C程序员中的一个非常常见的错误 - 并且省略了该字段的名称.
因此,编译器提供了它可以提供的最丰富的错误:您可能是一个C程序员,他忘记了数组的大小是在初始化程序中,而不是类型声明.
在这种情况下,猜测是完全错误的; 这里的错误是你不小心把声明放在了一个字段声明的地方.但大多数时候,这是一个合理的猜测.
你把它放在课堂上.(第二行)
把它放在一个方法中.
public partial class Form1 : Form
{
string[] motionCam = new string[8];
public Form1()
{
InitializeComponent();
motionCam[1] = "Stop";
}
}
Run Code Online (Sandbox Code Playgroud)