Tag Archives: Primitivo

Tipos Primitivos – Teorias

Ex : Tipagem

Entendendo um pouco sobre o Sistema de Tipagem .NET. Vamos lá:

Os tipos primitivos são tipos de dados suportados diretamente pelo compilador. Ou seja, no .NET os esses tipos servem apenas como “apelidos” (aliás) para tipos reais, predefinidos no ns System.

Tipos no C#, Classe, Conteúdo e Dimensão

typesystem_all

Exemplo Simples

using System;

namespace DemoPrimitivoTipo
{
    class Program
    {
        static void Main(string[] args)
        {
            int num = 0;
            num = num + 4;

            Console.WriteLine("Num" + num);
            Console.ReadKey();
        }
    }
}

Detalhes especiais

Os tipos primitivos são diferentes dos tipos de estruturas pois eles possuem características especiais como:

Todos os “TPs” permitem a criação de valores através da declaração de literais.

Podemos declarar consts dos tipos primitivos.

Quando os operandos de uma expr são todos do tp, o compilador consegue avaliar a expr em tempo de compilação.

Eles possuem dimensão fixa.

Todos os valores são com sinal.

Não há modificadores.

Não há conversões implícitas.

São sempre tratados por valor.

Arrays e Strings NÃO são TP.

Elas são Classes. A String guarda uma palavra, isso são vários caracteres.

Pronto! Um pouco sobre o Sistema de Tipagem.

Tipos Primitivos – Teorias

Ex 1 : Tipagem

Entendendo um pouco sobre o Sistem de Tipagem .NET. Vamos lá:

Identificados por palavras chaves, os tipos primitivos são os tipos de dados suportados diretamente pelo compilador. Ou seja, no .NET os esses tipos servem apenas como “apelidos” (aliás) para tipos reais, predefinidos no ns System.

Os “TPs” são mapeados diretamente para os tipos que existem na (bcl). Por exemplo, não há diferença entre o uso de string e System.String. O que acontece é que como esses tipos são mais frequentemente utilizados, o compilador fornece uma sintaxe mais amigável para lidar com eles.

Assim um int irá mapear diretamente para o tipo System.Int32. Por causa disto é que temos a equivalência nas declarações abaixo (C# e Vb.NET):

System.Int32 x = new System.Int32(4)
System.Int32 x = 4
Dim x As System.Int32 = New System.Int32(4)
Dim x As System.Int32 = 4

Na prática, são apenas duas as diferenças dos tipos primitivos em relação aos seus tipos reais:

A capacidade de inicializar seus valores inline

A declaração de constantes:

const string constante = "isso é uma const";

Continua…

Pronto! Um pouco sobre o Sistema de Tipagem.