image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Gustavo Santos
Gustavo Santos02/06/2025 14:17
Compartir
WEX - End to End EngineeringRecomendado para tiWEX - End to End Engineering

Guia Prático: Entendendo os Tipos de Dados em C# de Forma Simples e Clara

    Introdução

    Quando comecei a estudar programação, me deparei com um mundo de linguagens diferentes, com paradigmas diversos. No entanto, a linguagem com a qual tive maior afinidade foi o C#.

    O C# é uma linguagem fortemente tipada, o que significa que todas as variáveis e constantes têm um tipo definido, assim como cada expressão avaliada para um valor. No C#, existem tipos primitivos e tipos complexos.

    Conteúdo

    As informações que um tipo armazena incluem:

    • Espaço de armazenamento que uma variável do tipo requer;
    • Valores mínimos e máximos que ela pode representar;
    • Membros (métodos, campos, eventos etc.) que ela contém;
    • Tipo base do qual herda;
    • Interfaces que implementa;
    • Tipos de operações permitidas.

    O compilador utiliza essas informações para garantir que todas as operações realizadas no seu código sejam fortemente tipadas.

    Por exemplo, se você declarar uma variável do tipo int, será permitido usá-la para realizar operações matemáticas. Entretanto, se tentar realizar operações matemáticas em uma variável do tipo bool, o compilador gerará um erro, pois esse tipo não suporta tais operações.

    Tipos Internos de Valor

    Os principais tipos internos de valor em C# são:

    Booleanos:

    • bool: Representa um valor que pode ser true (verdadeiro) ou false (falso).

    Números Inteiros:

    • sbyte: Aceita números de -128 a 127.
    • byte: Aceita números de 0 a 255.
    • short: Aceita números de -32.768 a 32.767.
    • ushort: Aceita números de 0 a 65.535.
    • int: Aceita números de -2.147.483.648 a 2.147.483.647.
    • uint: Aceita números de 0 a 4.294.967.295.
    • long: Aceita números de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807.
    • ulong: Aceita números de 0 a 18.446.744.073.709.551.615.
    • nint e nuint: Dependem da arquitetura da plataforma (computados em tempo de execução).

    Números Decimais:

    • float: Aceita intervalo aproximado de ±1,5 × 10⁻⁴⁵ até ±3,4 × 10³⁸.
    • double: Aceita intervalo aproximado de ±5,0 × 10⁻³²⁴ até ±1,7 × 10³⁰⁸.
    • decimal: Aceita intervalo aproximado de ±1,0 × 10⁻²⁸ até ±7,9228 × 10²⁸.

    Caractere:

    • char: Representa um único caractere codificado em Unicode UTF-16.

    Tipos Internos de Referência

    String

    • string: Representa uma sequência de zero ou mais caracteres Unicode.

    Object

    • object: Pode armazenar valores de qualquer tipo, exceto tipos ref struct.

    Dynamic

    • dynamic: Ignora a verificação de tipos em tempo de compilação, realizando-a apenas em tempo de execução. Esse tipo é útil quando o tipo real dos dados não é conhecido até o momento da execução.

    Conclusão

    Entender os tipos internos de dados em C# é essencial para escrever um código mais seguro, performático e legível. A escolha adequada do tipo influencia diretamente a performance da aplicação e a clareza da lógica implementada.

    Ao dominar esses conceitos, você será capaz de construir sistemas mais robustos e eficientes, aproveitando todo o poder da linguagem C#.

    Aprofundar-se nesses fundamentos é o primeiro passo para dominar conceitos mais avançados e tornar-se um desenvolvedor de alto nível no ecossistema .NET.

    passo para dominar conceitos mais avançados e tornar-se um desenvolvedor de alto nível no ecossistema .NET.

    Fontes:

    https://www.w3schools.com/cs/cs_data_types.php

    https://learn.microsoft.com/dotnet/csharp/fundamentals/types/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/built-in-types/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/integral-numeric-types/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/char/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/reference-types#the-string-type/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/reference-types#the-object-type/?wt.mc_id=studentamb_381098

    https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/reference-types#the-dynamic-type/?wt.mc_id=studentamb_381098

    Compartir
    Recomendado para ti
    TONNIE - Java and AI in Europe
    Microsoft - Azure Administrator Certification (AZ-104)
    WEX - End to End Engineering
    Comentarios (2)

    EC

    Esther Candido - 02/06/2025 17:10

    Show Gustavo. Obrigada por compartilhar

    DIO Community
    DIO Community - 02/06/2025 16:29

    Excelente, Gustavo! Seu artigo é um guia prático e muito claro sobre os tipos de dados em C#. É inspirador ver como você descomplica esse conceito fundamental, mostrando a importância de entender como cada tipo armazena informações e influencia a performance do código.

    Considerando que "a escolha adequada do tipo influencia diretamente a performance da aplicação e a clareza da lógica implementada", qual você diria que é o maior desafio para um iniciante ao escolher o tipo de dado mais eficiente em C# para uma determinada situação?

    Recomendado para tiWEX - End to End Engineering