Testa dig själv — Datastrukturer
Utan att kolla:
- Vad är skillnaden mellan en array och en
List<T>?
Visa svar
En array har fast storlek — du bestämmer hur många element den rymmer när du skapar den, och det går inte att lägga till fler. En List<T> är dynamisk — den växer automatiskt när du lägger till element med .Add().
- Vad är ett index, och varför börjar det på 0?
Visa svar
Ett index är positionen för ett element i arrayen/listan. Det börjar på 0 eftersom det representerar offset från start — element 0 är precis i början, element 1 är ett steg bort, osv. Det är hur minnet adresseras internt.
- Vad händer om du försöker komma åt index 10 i en array med 5 element?
Visa svar
Programmet kastar ett IndexOutOfRangeException vid körning och kraschar om du inte fångar felet. Kompilatorn ser inte felet i förväg — det syns bara när koden faktiskt körs.
- Vad är skillnaden mellan
List<string>ochDictionary<string, int>?
Visa svar
En List<string> är en ordnad samling av strängar som du kommer åt med ett numeriskt index (0, 1, 2…). Ett Dictionary<string, int> är en nyckel-värde-karta — du slår upp värdet med en nyckel (t.ex. "poäng"). Välj lista när ordning spelar roll; välj dictionary när du vill slå upp snabbt på ett namn.
- Varför är
enumbättre än att använda strängar som konstanter?
Visa svar
- Typsäkerhet — kompilatorn ser om du skriver ett ogiltigt värde. Med strängar syns stavfelet bara i körtid.
- Läsbarhet —
Direction.Norrär tydligare än"norr"eller1. - Autocompletion — IDE:n listar alla giltiga värden automatiskt.
- Switch-stöd —
switchpå enum ger kompilatorvarning om du missar ett fall.