System.Object - Value type - Wat zijn value types? - Int - String - Andere voorgedefineerde waardes - Enum - Bitfactor - [Flag] - Struct - Struct is immutable - int i = 4; (maakt ding aan op stack) Object obj = i (maakt reference aan naar 4 op de heap. 4 wordt dan geboxed) - Terugcasten naar int is unboxing. De waarde wordt dan weer vanuit de heap naar de stack gekopieerd - Struct kan niet afleiden van een andere struct of class, maar wel van een interface - Waarde wordt in de stack gestopt - Reference type - Animal - Bird - Wat zijn reference types? - Class - Interface - Delegate - Nieuw object aanmaken - Geheugen reserveren op de managed heap. - Wordt gevuld met allemaal 0's - Hierdoor krijgen alle properties de default waarde - p = ... wordt een pointer in de stack die naar de heap point - Verschil tussen reference type en value type - 2 value types met dezelfde inhoud zijn gelijk - 2 reference types met dezelfde inhoud hebben dezelfde inhoud, maar zijn niet gelijk Equatable - Gelijkheid, blijheid