Skip to content

Latest commit

 

History

History
29 lines (20 loc) · 1.17 KB

File metadata and controls

29 lines (20 loc) · 1.17 KB

Pergunta

53 - Quais as duas grandes famílias de tipos no C#, e quais as principais diferenças entre elas? Existe ainda uma terceira família, muito menos usada. Indica qual é.

Soluções

Solução 1

As duas grandes famílias de tipos no C# são tipos de referência e valor.

As diferenças entre estes tipos são notadas a partir do local onde são alocados na memória, isto é, os tipos de referência armazenam-se num local chamado heap e tipos de valor armazenam-se num local chamado stack.

Alguns tipos de dados referência são: strings e arrays, estes contém referências para o seu conteúdo na heap e a sua gestão de memória é feita automáticamente pelo garbage collector.

Alguns tipos de valor são: int, bool, char, double, byte, float, etc, sendo estes armazenados na stack, têm os seus conteúdos armazenados onde a variável está, onde é declarada, dentro de métodos, blocos for, etc.

A terceira família de tipos no C# muito menos usada é o tipo apontador, este, acede à heap, sem gestão automática da memória e aponta para o endereço de memória de outro tipo.

Por João Rebelo