C# <Undefined value>

Tags:    .net

Har et underligt problem med et array af en klasse som jeg selv har lavet.
Hvis jeg sætter et element i arrayet = null kan jeg ikke teste for null i koden. Jeg får omgående en exception
"Object reference not set to an ..." altså den sædvanlige smøre.

Hvorfor kan jeg ikke teste while(array[x]!=null){ dosomething }

Mojn
/Jes






hvis det ovenstående kode er måden du vil gøre det på er det da 100% garanteret der går noget galt. Du kan ikke styre hvordan din while løkke tager skridt mod terminering, samtidig med at du garanteret i noget kode (du ikke viser os) indsætter eller fjerner i Arrayet, det gør at du sikkert kommer ud over kanten. Lav hellere en while/for løkke (du skal sikkert alle igennem alligevel) med en tæller der inkrementeres hver gang løkken løbes igennem, og brug så denne til at indeksere ind i dit array. Det du beskriver virker! du skal bare gøre det rigtigt. Vis eventuelt hele din metode, så vi kan se noget mere.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



foreach (int i in ditArray)
{
if(i.ToString() != null)

}
er det sådan noget du leder efter ?


Med venlig hilsen
/Jokke Jensen
www.jj-multimediedesign.dk




hvis det ovenstående kode er måden du vil gøre det på er det da 100% garanteret der går noget galt. Du kan ikke styre hvordan din while løkke tager skridt mod terminering, samtidig med at du garanteret i noget kode (du ikke viser os) indsætter eller fjerner i Arrayet, det gør at du sikkert kommer ud over kanten. Lav hellere en while/for løkke (du skal sikkert alle igennem alligevel) med en tæller der inkrementeres hver gang løkken løbes igennem, og brug så denne til at indeksere ind i dit array. Det du beskriver virker! du skal bare gøre det rigtigt. Vis eventuelt hele din metode, så vi kan se noget mere.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


x bliver inkrementeret og while terminerer fint, ok - det er ikke kønt i indlægget men virker ellers glimrende.
Fandt fejlen, fejl i override af == operatoren. Træls en :-)
Takker.



Skal vi ikke Lukke tråden ?



t