Archief - [C#] Variable aanroepen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

shadowstep0705

Legacy Member
Hey iedereen, ik wil een systeem maken dat wanneer men op een knop drukt, 3 verschillende vensters opkomen, maar nu geeft hij de fout bij
Code:
if (f2 == f1)
Use of unassigned local variable 'f1'
iemand die me kan helpen?
hier de volledige code:
Code:
        public void button1_Click(object sender, EventArgs e)
        {
            Form f1;
            Form f2;
            System.Random RandAtk = new System.Random();
            int randomattack = RandAtk.Next(6);
            switch (randomattack)
            {
                case 1:f1 = new a1j();
                    break;
                case 2:
                    f1 = new a2j();
                    break;
                case 3:
                    f1 = new a3j();
                    break;
                case 4: f1 = new aj4();
                    break;

                case 5: f1 = new a5j();
                    break;
            }
            attack2:
            System.Random RandAtk2 = new System.Random();
            int randomattack2 = RandAtk2.Next(6);
            switch (randomattack2)
            {

                case 1:
                    f2 = new a1j();
[COLOR="Red"]                    if (f2 == f1)[/COLOR]
                    {
                        goto attack2;
                    }
                    break;




            }
        }

MiniJeffrey

Legacy Member
je zit variabelen buiten je methode op te halen, je kan die beter benaderen via getters en setters, want nu weet je emthode niet wat f2 en f1 zijn. En maak ook een instantie van je klasse en gebruik dit.

Klasse x = new Klasse();
x.getF1, x.getF2; bvb (nadat je getters voorzien hebt)

En waarom wil je objecten vergelijken?

shadowstep0705

Legacy Member
om te zien of niet tweemaal hetzelfde venster wordt aangeroepen

Albireo

Legacy Member
Voeg dit toe aan je eerste switch

Code:
default: f1 = new a5j(); break;

Dan is de compiler tevreden omdat hij weet dat f1 altijd geïnitialiseerd zal worden. (het hoeft niet a5j() te zijn, eender welke form is goed)

PS. het gebruik van goto is doorgaans geen aanbevolen techniek
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan