Kezdőoldal » Számítástechnika » Programozás » Hogyan oldhatom meg C#-ban,...

Hogyan oldhatom meg C#-ban, hogy egy tömb elemeit while ciklussal töltsem fel?

Figyelt kérdés

A forráskód említett része:



StreamReader sr = new StreamReader("tavok.txt");

string[] tavok;

string sor = sr.ReadLine();

int szam = 0;

while (sor != null)

{

tavok[szam] = sor;

szam++;

}

sr.Close();



Amint látható, be szeretnék olvasni egy fájlt, és a fájl egyes sorait a 'tavok' tömb egy-egy elemeként szeretném tárolni. Viszont azt a hibaüzenetet kapom, a while cikluson belüli 'tavok'-ra, hogy "unassigned local variable", tehát a forráskód szerinti út nem igazán járható. Mit tegyek?



2014. febr. 21. 19:59
 1/7 anonim ***** válasza:
szerintem a string sor = sr.ReadLine() a cikluson belülre kéne.
2014. febr. 21. 20:13
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Nem engedi úgy elindítani. Ha a fenti forráskód szerint indítom el, akkor ezt kapom hibaüzenetként: "Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra."
2014. febr. 21. 20:25
 3/7 anonim ***** válasza:
2014. febr. 21. 20:31
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

megvan, nincs példányosítva a tömb, nincs neki mérete meg hasonlók.

[link]

2014. febr. 21. 20:34
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

A helyes megfejtés:


public static string[] ReadDistances(string fname)

{

using (StreamReader rdr = new StreamReader(fname)) {

List<string> distances = new List<string>();

string ln;

while ((ln = rdr.ReadLine()) != null)

distances.Add(ln);

return distances.ToArray();

}

}


Házi feladat: elemezd a forrást!

2014. febr. 24. 12:32
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Köszönöm a válaszokat! A feladatot megoldottam, de nem így, tömbbel, hanem struktúrával.
2014. febr. 25. 07:30
 7/7 anonim ***** válasza:

Ez az egyik érettségi feladat.

Érdemes struct-ot használni,majd azt a fájlolvasásnál a struct publikus property-eibe bele dobálni. Majd egy példányosított List<T>-be beledobni.

Előny : nem a tömbökkel,vagy azok dimenzióival babrálsz,hanem LINQ-ben könnyebb. :)

2014. márc. 21. 23:57
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!