Arrays Flashcards

1
Q

Hvad er et array?

A

Det er en Collection (liste), hvor man kan gemme et fast antal elementer af samme datatype sammenhængende i hukommelsen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

På hvor mange måder kan man initialisere et array?

A
  1. Angiv med størrelse
  2. Initialiser med størrelse
  3. Initialiser uden type
  4. Initialiser som var
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Er arrays kovariante I C#?

A

Nej, i modsætning til Java kan man ikke tildele et array af en derived type (child) til et array af basistypen (parent).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Kan man ændre størrelsen på et array i C#?

A

Nej, ligesom i Java er størrelsen fastsat ved initialisering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kan man gemme mere end én type element i et enkelt array I C#?

A

Nej, arrays er homogene i C#, så de er kun i stand til at gemme én type ad gangen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvordan får man adgang (access) til et array?

A
  1. Adgang med firkantede parenteser
  2. Iterate med standard for-loop
  3. Interate med en foreach loop
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvad sker der, når man forsøger at få adgang til et element på et ugyldigt indekspunkt i et array?

A

Programmet vil kaste en ‘IndexOutOfRangeException’ under runtime.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvad arver et array fra?

A

Den arver fra “System.Array” type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvilke metoder arver arrayet?

A
  1. Min( )
  2. Max( )
  3. Sum( )
  4. Average( )
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvilke metoder indeholder et statisk array?

A
  1. Sort( )
  2. reverse( )
  3. Copy( )
  4. Fill( )
  5. Empty( )
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Er et array i C# en referencetype eller en værditype?

A

Reference type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Kan du ændre indholdet af et array inde i en metode?

A

Ja, fordi det er en reference type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvad er multidimensionelle arrays i C#?

A

Det er arrays der har mere end 1 dimension, som tillader opbevaring af data i form af en matrix med flere rækker og kolonner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvor mange multidimensionelle arrays har C# I forhold til Java?

A

C# har 2 mens Java har 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Nævn de to multidimensionelle arrays C# har.

A
  1. Jagged arrays
  2. Multi-dimensional arrays.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvad er Jagged arrays I C#?

A
  1. “Arrays of arrays”.
  2. Det er som at have flere separate arrays, der er organiseret inden i et enkelt array, hvor hvert af disse indre arrays kan have forskellige længder eller antal elementer.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hvad er formålet med Jagged arrays?

A
  1. Mulighed for mere fleksibel opbevaring af data.
  2. Nyttigt når man arbejder med datasæt, der ikke følger en fast struktur eller størrelse.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Kan sub-arrays i et jagged array have forskellige længder?

A

Ja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Kan du ændre størrelsen på et jagged array?

A

Teknisk set ja, fordi du kan tildele nye elementer til sub-arrays.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hvordan iterere man gennem et jagged array i C#?

A
  • Nested for-loop, hvor det første loop itererer gennem sub-arrays, og det andet loop itererer gennem elementer i sub-arrays.
21
Q

Er alle dimensioner i et multidimensionel array faste?

A

Ja, når arrayet er oprettet, forbliver størrelsen af hver dimension konstant.

22
Q

Hvordan er dimensionerne angivet i et multidimensionelt array?

A

Ved brug af kommaer.

23
Q

Hvordan får du adgang til elementer i et multidimensionel array?

A

Det tilgås ved hjælp af kommaer.

24
Q

Hvorfor bruger man kommaer til at tilgå elementer i et multidimensionel array?

A

Hver dimension er adskilt af et komma, der angiver indekspositionen for den pågældende dimension.

25
Q

Kan et multidimensionel array have et hvilket som helst antal dimensioner?

A

Ja.

26
Q

Hvad er en indexer I c#?

A

Det er en property der giver adgang til elementer i en klasse eller struct ved hjælp af indekseringsnotation, ligesom i et array

27
Q

Kan en indekser have flere parametre?

A

Ja, parametrene kan også have forskellige typer.

28
Q

Kan en indekser være ‘read-only’?

A
  • Ja, i så fald bør du kun definere en ‘get’-accessor og udelade ‘set’.
29
Q

Kan man overloade en indekser?

A

Ja, men så skal man definere forskellige versioner af indexer-metoden med forskellige sæt parametre.

30
Q

Hvad er en index struct?

A

Det en specialdefineret struktur, der bruges til at repræsentere indeksværdier [Index].

31
Q

Hvor mange properties indeholder index structs og hvad hedder de?

A
  1. int Value
  2. bool IsFromEnd
32
Q

Hvad er en Range I C#?

A

Det er en construct, der giver mulighed for at få adgang til en specifik række af elementer i et array.

33
Q

Hvordan definere man en range?

A

De defineres ved hjælp af operatoren “ .. “, som adskiller intervallets start- og slutindeks.

34
Q

Kan en range være åbent?

A

Ja, hvis man udelader start- eller slutindekset i intervallet.

35
Q

Kan man ændre elementer inden for en range?

A

Ja, man kan tildele en ny værdi til elementer i en range.

36
Q

Kan ranges bruges på multidimensionelle arrays (f.eks. jagged arrays)?

A

Nej, de er beregnet til en-dimensionelle collections (liste, arrays mm).

37
Q

Hvad er en span i C#?

A

Det er et fleksibelt overblik over en række elementer, der kan ændre sig dynamisk.

38
Q

Har en span en generic type?

A

Ja, hvilket betyder, at det kan arbejde med forskellige underliggende datatyper (integer, character mm).

39
Q

Er Span en IEnumerable?

A

Ja, Span implementerer IEnumerable interfacet, som gør det muligt at bruge det i forskellige LINQ-operationer og andre konstruktioner, der arbejder med collections.

40
Q

Hvordan kan en span konverteres tilbage til et array?

A

Ved hjælp af ToArray()-metoden.
Denne metode opretter et nyt array og kopierer elementerne i Span ind i det.

41
Q

Hvad er forskellen mellem en span og et array?

A
  1. Spans har ikke en fast størrelse.
  2. Spans har højere ydeevne, fordi de undgår unødvendige hukommelsestildelinger og kopiering.
42
Q

Kan man ændre elementerne inden for en span?

A

Ja, ved at bruge indeksering til at få adgang til og ændre individuelle elementer.

43
Q

Kan spans bruges med værdityper og referencetyper?

A

Ja, spans giver en måde at arbejde med arrays af enhver type.

44
Q

Hvad er object indexers i C#?

A

Det er en speciel type af property på en klasse eller struct, der kan tilgås som et array.

45
Q

Hvad er formålet med object indexers i C#?

A

Den giver mulighed for at definere custom indeksering og multipel indeksering.

46
Q

Hvordan definere man et object index?

A

Ved hjælp af nøgleordet “this” efterfulgt af firkantede parenteser [ ].

47
Q

Kan enten get eller set udelades i object indexers?

A

Ja, hvilket giver mulighed for henholdsvis write-only eller read-only indeksering.

48
Q

Hvad er write-only indeksering?

A

Dette tillader setting af værdier, men giver ikke mulighed for at hente dem.

49
Q

Hvad er read-only indeksering?

A

Dette tillader hentning af værdier, men giver ikke mulighed for at sette dem på.