C#  -  Não existem tipos primitivos definidos na linguagem C# (Você sabia ?)


Este artigo apresenta uma revisão dos conceitos sobre tipos primitivos e tipos por valor na linguagem C#.

Você sabia que na especificação da linguagem C# não existe a definição de tipos primitivos ?

Ah ! Como assim ? 

Isso mesmo...

Os tipos primitivos não são definidos na especificação de linguagem C#, eles são definidos na plataforma .NET (na CLR).

Os tipos primitivos definidos na CLI Esp são :

Para saber se um tipo de dados é primitivo utilize a propriedade : Type.IsPrimitive

Se retornar o valor true então o tipo é um dos tipos primitivos, caso contrário não é um tipo primitivo definido na CLR.

Mas tipos primitivos não são a mesma coisa que tipos por valor ?

Não.

Os tipos por valor podem ou não ser primitivos.

Existem muitos tipos por valor na plataforma .NET além daqueles definidos na CLI Esp.

Por exemplo, o tipo DateTime que é um struct fornecida pela plataforma .NET, e , que pode ser considerado um tipo por valor.

Os tipos por valor

Os tipos por valor são definidos nas seguintes categorias:

As principais características dos tipos por valor são:

A tabela abaixo mostra o valor padrão quando da inicilização do tipo:

Tipo por valor Valor Padrão
bool  false
byte  0
char  '\0'
decimal  0.0M
double  0.0D
enum  O valor produzido pela expressão (E)0, onde E é o identificador enum.
float  0.0F
int  0
long  0L
sbyte  0
short  0
struct O valor produzido ao definir todos os campos de tipo de valor para seus
valores padrão e todos os campos de tipo de referência para nulo.
uint  0
ulong  0
ushort  0

Todos os tipos simples - os integrantes da linguagem C # - são aliases dos tipos do .NET Framework. Por exemplo, int é um alias de System.Int32. (Toda vez que você escreve int, o compilador traduz o código para para o tipo System.Int32 )

Nota:  Existem outros aliases. Veja a lista completa:
 
object System.Object
string System.String
bool System.Boolean
byte System.Byte
short System.Int16
unshort System.UInt16
int System.Int32
uint System.UInt32
long System.Int64
ulong System.UInt64
float System.Float
double System.Double
decimal System.Decimal
char System.Char

Expressões constantes, cujos operandos são todas constantes de tipo simples, são avaliadas em tempo de compilação.

Os tipos simples podem ser inicializados usando literais.

Por exemplo, 'A' é um literal do tipo char e 2001 é um literal do tipo int.

E estamos conversados...

(Disse Jesus) :  Passará o céu e a terra, mas as minhas palavras não hão de passar. Lucas 21:33

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti