Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在初始化Form1中的对象数组:Form{}_C#_Arrays_Oop_Scope - Fatal编程技术网

C# 正在初始化Form1中的对象数组:Form{}

C# 正在初始化Form1中的对象数组:Form{},c#,arrays,oop,scope,C#,Arrays,Oop,Scope,我从一本书中得到了一个练习(没有代码更正),在那里我必须构建一个赌注模拟器 我有一班灰狗和这班的四条狗。 我想把它们放在一个灰狗数组中,并在代码一开始就初始化它,这样它们就在我表单中所有方法的范围内。 下面是一段代码,它会更清晰: public partial class Form1 : Form { Greyhound dog1 = new Greyhound(); Greyhound dog2 = new Greyhound(); Greyhound dog3 = n

我从一本书中得到了一个练习(没有代码更正),在那里我必须构建一个赌注模拟器

我有一班灰狗和这班的四条狗。 我想把它们放在一个灰狗数组中,并在代码一开始就初始化它,这样它们就在我表单中所有方法的范围内。 下面是一段代码,它会更清晰:

public partial class Form1 : Form
{
    Greyhound dog1 = new Greyhound();
    Greyhound dog2 = new Greyhound();
    Greyhound dog3 = new Greyhound();
    Greyhound dog4 = new Greyhound();

    Guy joe = new Guy() { name = "Joe", myBet = null, cash = 50};
    Guy bob = new Guy() { name = "Bob", myBet = null, cash = 75 };
    Guy al = new Guy() { name = "Al", myBet = null, cash = 45 };

    Greyhound[] dogs = new Greyhound[4] { dog1, dog2, dog3, dog4 }; //Here's the problem

    public Form1(){ .....
但当我尝试初始化数组时,他似乎找不到dog1、dog2等

怎么了? 是否有一种更简单的方法来初始化这些变量,以便在所有方法的正确范围内?
我试图使用“public”并在Form1()中声明它们,{}但它也不起作用…

声明的位置是正确的。尝试将赋值移动到构造函数。

“他似乎找不到”-不要对编译器错误给出自己的解释,逐字逐句地研究它们。将引用其他字段的数组初始化移到构造函数中。@mituw将他的代码放入方法中。他的代码不在方法中。不管怎样,这都是重复的。啊,你说得对@john。。我没有注意到。。点。。。你的作业代码应该在构造器中,正如其他人已经指出的那样。谢谢所有的答案,很抱歉重复。在发布想法之前,我在谷歌上看了很多,甚至在这里也看了很多。好吧,是时候了,但是。。。我知道构造函数的概念,但以前从未使用过。我来看看:)祝你今天愉快。