2017-11-22 3 views
-1

Ich habe eine Übung aus einem Buch (es gibt keine Code-Korrektur), wo ich einen Wett-Simulator bauen.Initialisieren Array von Objekten in Form1: Form {}

Ich habe eine Klasse Greyhound und 4 Hunde aus dieser Klasse. Ich möchte sie in eine Reihe von Greyhound setzen und ihn am Anfang des Codes initialisieren, damit sie im Rahmen aller Methoden meiner Form sind. Hier ist ein Stück Code, wird es klarer sein:

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(){ ..... 

Aber wenn ich versuche, meine Arrays zu initialisieren, es scheint, dass er nicht dog1 finden, dog2 usw.

Was ist falsch? Gibt es eine einfachere Möglichkeit, diese Variablen zu initialisieren, um für alle Methoden im richtigen Bereich zu sein? Ich habe versucht, "public" zu verwenden und sie in Form1() {} zu deklarieren, aber es funktioniert auch nicht ...

+0

_ "es scheint, er kann nicht finden" _ - geben Sie Compiler Fehler nicht Ihre eigene Interpretation, recherchieren sie wörtlich. Verschieben Sie die Array-Initialisierung, die auf andere Felder verweist, in den Konstruktor. – CodeCaster

+0

@mituw Sie haben seinen Code in eine Methode eingegeben. Sein Code ist nicht in einer Methode. So oder so, das ist ein Duplikat. – john

+0

Ah, du hast Recht @John .. Ich habe nicht bemerkt, dass .. DoT ... Ihr Zuordnungscode sollte im Konstruktor sein, wie andere bereits darauf hingewiesen haben – mituw16

Antwort

0

Der Ort der Deklarationen ist korrekt. Versuchen Sie, Zuweisungen an Konstruktor zu verschieben.

+0

Danke für alle Antworten und Entschuldigung für das Duplikat. Ich habe viel auf Google und sogar hier geschaut, bevor ich darüber nachdachte. Ok Schande Zeit aber ... Ich kenne das Konzept der Konstrukteure, aber noch nie zuvor verwendet. Ich werde es sehen :) Einen schönen Tag. – DoT

Verwandte Themen