C# hiba, egyszerű fájlbeolvasás, mégsem működik? De miért?
A hiba:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
A kód:
public struct telkek
{
public string[] utcaresz;
public string[] meret;
public string[] kerites;
}
static void Main(string[] args)
{
StreamReader sr = new StreamReader("kerites.txt");
telkek telkek = new telkek();
int i = 0;
while (!sr.EndOfStream)
{
string[] sor = sr.ReadLine().Split(' ');
telkek.utcaresz[i] = Convert.ToString(sor[0]);
telkek.meret[i] = Convert.ToString(sor[1]);
telkek.kerites[i] = Convert.ToString(sor[2]);
i++;
}
Console.ReadKey();
}
(az elején ott van a using.System.IO;)
Gyakorolnom kéne, de már ezen elbukok és nem tudom, mi a baja. Neten nem találtam rá megoldást. A telkek.meret[i] = blablabla résznél hozza fel ezt a hibát. A feladat a 2018-as emelt feladat.
string[] sor = sr.ReadLine().Split(' ');
Console.WriteLine(sor[0]);
Console.WriteLine(sor[1]);
telkek.utcaresz[i] = Convert.ToString(sor[0]);
Console.WriteLine(sor[0]);
Console.WriteLine(sor[1]);
az első két writeline kiadja ami kell, a beolvasás utáni 2 sor már a hibát adja.
Én sem értek C#-hoz :D
De nem kéne a fájlt megnyitni?
Igen, a tömböket inicializálni kell használat előtt:
kerites = new string[20]; //20 elemű tömb lesz ebből
De sok gond van még ezzel a kóddal ha nem dob szintaktikai hibát akkor is :D
Én tanulóként segítséget kértem, mert nem értem, mit / miket hibáztam.
Ha itt nem lehet segítséget kérni, elnézést kérek és töröljék a kérdésem.
Nem tudtam, hogy egy értelmes, normálisan feltett kérdésre nem kaphatok értelmes választ.
De kommentjeitekből kiindulva arra tudok következtetni, hogy ti magatok sem tudjátok, mi a problémája a kódnak.
Irónia volt, ne haragudj.
Értünk hozzá.
Akkor elmondjuk értelmesen: ez a kód egy kalap szar
Nincs inizializálva a tömb, nincs a fájl megnyitva, bezárva aztán végképp nincs, és ezektől eltekintve nem is azt csinálja szerintem, amit szeretnél (egyetlen telek adatai lennének csak egy fájlban?)
Az első sor adataival tud dolgozni. Az első beíratást követően (az a sor, amit be is idéztem fentebb) lesz probléma, ahol kiírja az említett hibát. Tehát, az első sort szépen beolvassa és spliteli a sor nevű tömbbe, azaz a fájl meg van nyitva(szerintem, cáfolj, ha tévedek).
Az említett sor előtt a writeLine-ok ki is írják, ami benne van. Viszont amint a struct-ba íratnám, az első bevitel sikeres, onnantól kezdve viszont hibás.
Az említett hibákat felfogtam, de nem tudom, hogy javítsam ki (mint azt már említettem órákkal ezelőtt).
Nincs kedvem tovább játszani.. Segítesz abban, hogy kijavítsam ezeket a hibákat, hogy megérthessem, mit csesztem el, vagy sem?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!