C# og .Net Flashcards
Hvem har lavet C# og Hvorfor?
Det har Microsoft som en modsvar til Java.
Hvilke sprog basere C# sig på?
Det basere sig på Java, C++ og C
Hvordan er .Net akitekturen sat op?
Hvad står MSIL for?
Microsoft Intermediate Language.
Hvad står CLR for?
Common Language runtime.
Hvad står IL for?
Intermediate Language.
Hvad står CTS for?
Common Type System.
Hvad står CLS for?
Common Language Specification.
Hvad er et namespace?
Det samme som en package I java.
Hvad er “using” I C#?
Det samme som import i Java.
Findes der primitive typer i C#?
Nej der findes kun klasser og objekter.
Hvilke to forskellige typer af klasser og objekter findes der i C#?
Value types og reference types.
Hvad er valuetype?
Det er typer som fx int, char, String osv…
Hvad er reference type?
Det er typer som fx ens egne klasser eller indbyggede klasser som ikke er en value type.
Hvad er Type inference?
Det er automatisk genkendelse af type.
Hvornår forkommer Type inference I C#?
Det forkommer når man skriver “var” foran et nyt deklareret variable
Hvor mange bit er en int?
32 bit.
Hvor mange bit er en long?
64 bit.
Hvor mange bit er en Decimal?
128 bit high presision type.
Hvor mange bit er en char?
16 bit Unicode character .
Hvad er widening i C#?
Det er implicit konvertering fra lav præcision til høj præcision fx at en float værdi automatisk konverteres hvis man næver samme værdi men en double. Det samme er med byte, int og typer som nedarver.
Hvad er Narrowing i C#?
- Det er explicit konvertering hvor man går fra høj til lav præcision. Fx

Hvad kendetegner en const i C#?
- Er implicit static.
- SKAL initialisers I erklæringen.
- Evaluates på compile time.
Hvad er readonly i C#?
Det er det samme som final i java, altså at en værdi ikke kan ændre på nogen måde men kan kun læses.
Hvad kendetegner readonly i C#?
- Kan være static og non-static.
- Kan KUN initialisers I fields eller constructor.
- Evalueres på runtime.
Hvad er en property I C#?
- Det er det man bruger i C# i stedet for get og set metoder i java
Hvad er de tre forskellige type kommentarer?
- “//” - Enkelt linje kommentar
- “/* */” - Flere linje kommentar
- “///“ - XML-Kommentar
Hvilke forskellige typer af visibility modificeres har klasser i C#
- Private - Synligt I klassen selv
- Public - Synligt i alle klasser
- Protected - Synligt i klassen selv og alle subklasser til klassen
- Internal - Syneligt I samme assembly
Hvilke visibility modificeres er der til typerne i det yderste niveau i et namespace?
(Class, Struct, Enum, Interface eller delegate)
- Internal (Default)
- Public
Hvilke visiblilty modificeres har en netsted class?
- Private (Default)
- Public
- Protected
- Internal
Er der multiple nedarvning i C#?
- Nej det er der ikke en klasse kan kun nedarve fra EN superklasse.
Kan en klasse implementere flere interfaces i C#?
- Ja det kan de godt.
Hvad er constructor chaining?
- Det er når en constuctor i en klasse kalder en anden constructor i samme klasse
Hvordan bruges “Virtuel” i C#?
“Virtuel” bruges når man i en superklasse godt kunne tænke sig at have muligheden for at override den samme methode i en subklasse.
Hvordan bruges abstrakte metoder?
Har ingen krop i superklassen og SKAL derfor overrides i subklassen.
Hvordan bruges “Sealed” i C#?
- Det bruges for at sikre at en virtuel methode ikke kan overrides i en subklasse.
Hvad sikre en sealed klasse?
Sikre mod nedarvning og override af virtuelle metoder.
Hvad kendetegner en struct?
- Skal have en dekreteret contructor
- Minder om en klasse men er letvægt
- Indeholder fields og metoder
- Kan ikke nedarves
- Er en value type
- Stammer fra en klasse som er en reference type
Hvad er “is” operatoren?
En operator som spørger om et object er en bestemt type.
Hvad er en “as” operator?
Prøver at caste en bestemt object til en bestemt type og returnere null hvis den fejler.
Kan en klasse nedarve fra en superklasse og implementere flere interfaces?
JA.
Kan et interface nedarve fra et andet interface?
JA:
Hvad er en extension methode?
Et er en måde hvor man kan lave en methode til en klasse ved hjælp af en extension. Det er ren syntaktisk sukker.
Hvad er en delegate variable i C#?
Bliver brugt til at lave typesikre variable som peger på en methode som kan ændre runtime.
Som set her kan delegaten ændre methode runtime så længe at metoden opfylder delegatens parametre
Hvad skal der til for at en methode opfylder en delegate kriterie?
- Samme returtype
- Samme antal og type parametre