私は賭けのシミュレータを構築する必要がある本から練習を受けました(コード修正はありません)。Form1のオブジェクトの配列を初期化する:Form {}
私はこのクラスのグレイハウンドクラスと4匹の犬を持っています。 私はそれらをグレイハウンドの配列に入れて、コードの初めに初期化して、自分のフォームのすべてのメソッドの範囲に入れたいと思います。 ここではコードの一部は、それが明確になります。
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(){ .....
しかし、私は私の配列を初期化しようとすると、それは彼が
は何が問題で、DOG2などDOG1を見つけることができないようですか? これらの変数を初期化してすべてのメソッドの正しいスコープにするための簡単な方法はありますか? "public"を使用してForm1(){}で宣言しようとしましたが、どちらも動作していません...
_ "彼は見つけることができないようです" _あなた自身の解釈をコンパイラエラーには与えず、それらをそのまま語ります。他のフィールドを参照する配列初期化をコンストラクタに移動します。 – CodeCaster
@mituwコードをメソッドに入れます。彼のコードは方法ではありません。いずれにしても、これは複製です。 – john
ああ、あなたは正しい@johnです。DoT ... DoT ...あなたの割り当てコードは、他の人が既に指摘しているようにコンストラクタにあるべきです。 – mituw16