onsdag den 3. oktober 2012

"Farlige" forskelle i VB.NET og C#.NET (Rekursiv kode)


Jeg er jo indfødt C# .NET systemudvikler så gamle vaner dør svært. Det kan mærkes nu på mit nye arbejde hvor jeg skal arbejde med VB.NET.

Jeg har jo arbejdet med C# og .NET igennem en del år efterhånden, men ikke med VB.NET - dog følte jeg stadig at jeg havde set det meste. Nej det havde jeg så ikke..
Hvis man i VB.NET har et objekt med en arrayliste på og skal kalde et index skal man bruge "(index)" for at få det, hvor i C# bruger man "[index]".
Det "farlige" her er at når man skal bruge VB.NET så er "[index]" refererende til sit eget objekt (forudgående).
Så pludselig vil du i din "arrayliste[0]" få samme objektstruktur efter punktum.
Opdagede det hvor jeg skulle igennem et objekt med et array som pludselig gav et objekt med samme array på i en uendelighed - ligesom følger:
lines[0].lines[0].lines[0] etc.

Det kan godt være lidt farligt det ikke giver nogen kompileringsfejl og også fordi man kan blive ved sådan.
Rekursiv kode længe leve!!

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst