C#-ban hogy tudok a for ciklus eredményként kapott változót a cikluson kívül használni?
Hiába deklarálom a változót a cikluson kívül, de ugye az értékét a cikluson belül kapja és az istennek se tudom a cikluson kívül használni.
Valaki help pls :D
Hát pedig működik:
int i;
for(i = 0; i < 5; i++) ;
System.Console.WriteLine(i);
De a for cikluson belül még műveleteket is végezne a dolog pl:
int i,o;
for(i=1;i<20;i++)
{
o=i*i
}
és itt már ha fel akarom használni akkor azt írja hogy unassigned local variable'o'
Nekem lefordul, ha a pontosvesszőt nem felejtem le az i*i után:
Az általad említett hibaüzenetet akkor kaphatod, ha csak elágazásban, vagy olyan ciklusban, ami nem biztos, hogy lefut adsz értéket egy változónak.
Itt ez nem áll fenn.
Van egy elég érdekes dolog, nevezzük hatáskörnek. Arról van itt szó, hogyha van egy utasításblokk, amiben deklarálsz valamit, az a blokkon kívül nem érhető el:
{
{
int i = 5;
}
//itt az i nem érhető már el, mivel blokkon belül volt deklarálva
}
Viszont ha deklarálsz egy blokkban valamit, akkor az összes al-blokkban elérhető lesz:
{
int i;
{
//itt az i elérhető
{
//itt is
}
}
//itt is
}
//itt már nem
"Use of unassigned local variable"
Nem adsz kezdeti értéket a változónak.
int i = 0;
for(i = 0; i < másikszám; i++){
//ide a lényeg
}
és a végén voilá, hozzáférsz az i-hez, ami tulajdonképpen egyenlő a "másikszám"-mal, ha végigfutott a ciklus, ha meg nem akkor a return vagy break utasításnál lévő értékkel lesz egyenlő.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!