SkillsTest.pl C# pytania i zadania rekrutacyjne Co oznaczają pojęcia boxing i unboxing?

: 2017-09-22 | Nr 13 z 51

Pytanie

Co oznaczają pojęcia boxing i unboxing? C#

Przed zapoznaniem się z treścią tej odpowiedzi warto znać odpowiedź na poniższe pytanie:
Jaka jest różnica pomiędzy typami wartościowymi a referencyjnymi?


Boxing oraz unboxing mają dużo wspólnego ze stertą oraz stosem. Otóż na stercie przechowywane są dane typów referencyjnych a na stosie typów wartościowych.
Boxing (opakowywanie) to nic innego jak konwersja typów wartościowych do typów referencyjnych. Unboxing to operacja przeciwna - konwersja typu referencyjnego do typu wartościowego.

int value = 5; // typ wartościowy
Object boxedValue = value; // konwersja na typ referencyjny (boxing)
int unboxedValue = (int)boxedValue // konwersja typu referencyjnego na wartościowy (unboxing)

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka