C# Language Flashcards

1
Q

Wat is een value type

A
  • bevat rechtstreeks de waarden die bijgehouden moeten worden
  • bij het toewijzen van een waarde wordt er een kopie genomen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat is een reference type

A
  • bevat een pointer (adres) naar de data (object), maar niet de data zelf
  • meerdere refernce type variabelen kunnen naar hetzelfde object verwijzen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Geef enkele types en subtypes van value en reference

A

Zie screenshot

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

Van waar erven alle value types van over

A

System.ValueType

  • Moeten geinitialiseerd zijn
  • Kan niet worden van overgeerfd
  • Kan niet null zijn, enkel indien nullable gemaakt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hoe maak je een nullable valuetype?

A

int? j = null;
of
System.Nullable j = null;

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

Wat is DateTime en geef een voorbeeld

A
Value type om tijdstippen en data in te bewaren. Wordt gemeten in nanoseconden
DateTime dt = new DateTime(2008,5,1,8,30,52)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Van waar erven reference types van over?

A

System.Object

  • kan de waarde null hebben
  • Meerdere reference types kunnen naar hetzelfde object verwijzen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is string?

A

Een reference type

- immutable

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

Wat is het verschil tussen regular en verbatim string literals

A
  • Regular: Herkent escape sequences

- Verbatim: Negeert escape sequences vb @”blablabla…”

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

Wat is een escape sequence?

A

Alles met \ en een gewone enter

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

Geef de verschillende manieren om een string te maken

A
String.Format("{0:d2} = {1} * {2}", z , x, y);
Console.WriteLinet("{0:d2} = {1} * {2}", z , x, y);
$"{z:d2} = {x} /  {y}"); (interpolation, kan ook op verbatim(@))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat is implicit conversion?

A
Als de waarde die moet bewaard worden kan bijgehouden worden in de gedefinieerde variabele zonder verlies van data
- int naar double
int i = 123;
double d = i;
- Derived naar Base
Derived d = new Derived()
Base b = d;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat is explicit conversion?

A
Conversie kan niet uitgevoerd worden zonder verlies van data
- double naar int 
double d = 1234.5;
int i = (int)d;
- Base naar Derived
Derived d1 = new Derived()
Base b = d1; 
Derived d2 = (Derived)b; 
Derived d3 = b as Derived
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

System.Convert.ToValueTyp()?

A
Convert-Class
bv 
boolean b = Convert.ToBoolean()
int i =Convert.ToInt32()
...
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

String naar…?

A

ValueType.TryParse() bv
bool valid = Int32.TryParse(s1, out i)

ValueType.Parse() bv
int i = Int32.Parse(s1)

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

Hoe wordt een variabele gedeclareerd?

A

[] [= ]

17
Q

Wat is de naming convention in .NET

A
Altijd PascalCase
behalve:
- private fields: camelCase
- parameters: camelCase
- local variables: camelCase
18
Q

Leg uit wat een Struct is

A
  • eigen valuetypes
  • geen overerving
  • bestaat uit members, maar beperkte mogelijkheden tov klassen
  • kleine data structuren
  • Geen default constructor
  • Geen initialisatie van field in definitie toegelaten
19
Q

Leg uit wat een Struct is

A
  • eigen valuetypes
  • geen overerving
  • bestaat uit members, maar beperkte mogelijkheden tov klassen
  • kleine data structuren
  • Geen default constructor
  • Geen initialisatie van field in definitie toegelaten:
    value types : default value
    reference types : null