C# Language Flashcards
Wat is een value type
- bevat rechtstreeks de waarden die bijgehouden moeten worden
- bij het toewijzen van een waarde wordt er een kopie genomen
Wat is een reference type
- bevat een pointer (adres) naar de data (object), maar niet de data zelf
- meerdere refernce type variabelen kunnen naar hetzelfde object verwijzen
Geef enkele types en subtypes van value en reference
Zie screenshot
Van waar erven alle value types van over
System.ValueType
- Moeten geinitialiseerd zijn
- Kan niet worden van overgeerfd
- Kan niet null zijn, enkel indien nullable gemaakt
Hoe maak je een nullable valuetype?
int? j = null;
of
System.Nullable j = null;
Wat is DateTime en geef een voorbeeld
Value type om tijdstippen en data in te bewaren. Wordt gemeten in nanoseconden DateTime dt = new DateTime(2008,5,1,8,30,52)
Van waar erven reference types van over?
System.Object
- kan de waarde null hebben
- Meerdere reference types kunnen naar hetzelfde object verwijzen
Wat is string?
Een reference type
- immutable
Wat is het verschil tussen regular en verbatim string literals
- Regular: Herkent escape sequences
- Verbatim: Negeert escape sequences vb @”blablabla…”
Wat is een escape sequence?
Alles met \ en een gewone enter
Geef de verschillende manieren om een string te maken
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(@))
Wat is implicit conversion?
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;
Wat is explicit conversion?
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
System.Convert.ToValueTyp()?
Convert-Class bv boolean b = Convert.ToBoolean() int i =Convert.ToInt32() ...
String naar…?
ValueType.TryParse() bv
bool valid = Int32.TryParse(s1, out i)
ValueType.Parse() bv
int i = Int32.Parse(s1)