我是因为工作原因而学习C#而且我对C和C ++有所了解,所以我试图尽可能多地跳过理论。我很难搞清楚为什么我不能在Main函数之外定义数组。如果我在Main内部这样做,它可以工作。
我已经尝试了一些超基本数组语法在线教程的代码;不知怎的,我不能让他们工作。
例:
int [] ages;
ages= new int[2];
ages [0] = 20; ---> until I fill the array.
建议,请不要跳过C#
理论信息,因为它非常重要。通过阅读编程语言的理论方面,您可以进一步熟悉自己在做和不做的方面的规则。您还可以更好地了解语言的工作原理以及它与C
和C++
的背景有何不同。
如果你说你来自Java背景本来就更有意义,因为它们非常相似,尽管它们在某些方面有所不同。
在C#中,你不能声明这样的语句:
ages = new int[2];
ages [0] = 20;
在班级。相反,它必须封装在一个方法中。但是,您可以在类级别声明int[] ages = new int[2];
而不会出现编译错误。
最后,但并非最不重要的是C# Guide是一个很好的起点,因为它将有助于进一步熟悉语言。
我想你试图在Program类中声明数组,并且你无法在静态Main方法中引用它。在静态方法中,您只能引用静态。
class Program
{
static int[] staticFieldArray = new int[10];
int[] instanceFieldArray = new int[10];
static void Main()
{
staticFieldArray[0] = 10; //compiles fine, you can reference the static from static.
instanceFieldArray[0] = 10; //comiple error, cant reference instance field from static method.
}
}