Exercício – Descobrir tipos integrais

Concluído

Neste exercício, você trabalha com tipos integrais. Um tipo integral é um tipo de valor simples que representa números inteiros não fracionários, como -1, 0, 1, 2 e 3. O mais popular nesta categoria é o tipo de dados int.

Há duas subcategorias de tipos integrais: tipos integrais com sinal e sem sinal.

Um tipo com sinal usa seus bytes para representar uma quantidade igual de números positivos e negativos. O exercício a seguir expõe você aos tipos integrais com sinal em C#.

Preparar o ambiente de codificação

Este módulo inclui atividades práticas que orientam você durante o processo de criação e execução do código de demonstração. Incentivamos você a concluir essas atividades usando o Visual Studio Code como ambiente de desenvolvimento. O uso do Visual Studio Code para essas atividades introduz você ao trabalho de elaboração e execução de códigos em um ambiente de desenvolvedor que é usado por profissionais em todo o mundo.

Observação

Se você completou outros módulos do Microsoft Learn nesta série de C#, talvez já tenha criado uma pasta de projeto para exemplos de código. Nesse caso, é possível ignorar a seção de etapas a seguir e excluir o código no arquivo Project.cs usado em um exercício anterior.

  1. Abra o Visual Studio Code.

    Você pode usar o menu Iniciar do Windows (ou recurso equivalente em outro sistema operacional) para abrir o Visual Studio Code.

  2. No Visual Studio Code, no menu Arquivo, selecione Abrir Pasta.

  3. Na caixa de diálogo Abrir Pasta, navegue até a pasta Área de Trabalho do Windows.

    Se você tiver um local de pasta diferente no qual mantém os projetos de código, poderá usar esse local de pasta. Neste treinamento, o importante é ter um local que seja fácil de localizar e lembrar.

  4. Na caixa de diálogo Abrir Pasta, selecione Selecionar Pasta.

    Se aparecer uma caixa de diálogo de segurança perguntando se confia nos autores, selecione Sim.

  5. No Visual Studio Code, no menu Terminal, selecione Novo Terminal.

    Observe que o prompt de comando no painel Terminal exibe o caminho da pasta atual. Por exemplo:

    C:\Users\someuser\Desktop>
    
  6. No prompt de comando Terminal, para criar o novo aplicativo de console na pasta especificada, digite dotnet new console -o ./CsharpProjects/TestProject e pressione Enter.

    Este comando da CLI do .NET usa um modelo de programa .NET para criar o novo projeto de aplicativo de console C# no local da pasta especificada. O comando cria as pastas CsharpProjects e TestProject para você e usa TestProject como o nome do arquivo .csproj.

  7. No painel EXPLORER, expanda a pasta CsharpProjects.

    Você deve ver a pasta TestProject e dois arquivos: o arquivo de programa do C#, denominado Program.cs, e o arquivo de projeto do C#, denominado TestProject.csproj.

  8. No painel EXPLORER, para exibir o arquivo de código no painel Editor, selecione Program.cs.

  9. Exclua as linhas de código existentes.

    Você está usando esse projeto de console C# para criar, compilar e executar exemplos de código durante este módulo.

  10. Feche o painel do terminal.

Usar as propriedades MinValue e MaxValue para cada tipo integral com sinal

  1. Verifique se o Visual Studio Code está aberto e se o arquivo Program.cs está sendo exibido no painel do Editor.

    Program.cs deve estar vazio. Se não estiver, selecione e exclua todas as linhas de código.

  2. Para ver os intervalos de valores dos diversos tipos de dados, insira o código a seguir no Editor do Visual Studio Code.

    Console.WriteLine("Signed integral types:");
    
    Console.WriteLine($"sbyte  : {sbyte.MinValue} to {sbyte.MaxValue}");
    Console.WriteLine($"short  : {short.MinValue} to {short.MaxValue}");
    Console.WriteLine($"int    : {int.MinValue} to {int.MaxValue}");
    Console.WriteLine($"long   : {long.MinValue} to {long.MaxValue}");
    
  3. No menu Arquivo do Visual Studio Code, selecione Salvar.

    O arquivo Program.cs deve ser salvo antes de criar ou executar o código.

  4. No painel EXPLORER, para abrir o Terminal no local da pasta TestProject, clique com o botão direito do mouse em TestProject e selecione Abrir no Terminal Integrado.

    Um painel Terminal deve ser aberto e incluir um prompt de comando mostrando que o Terminal está aberto no local da pasta TestProject.

  5. No prompt de comando Terminal, para executar seu código, digite executar dotnet e pressione Enter.

    Se você vir uma mensagem com a mensagem "Não foi possível encontrar um projeto a ser executado", verifique se o prompt de comando Terminal exibe o local esperado da pasta TestProject. Por exemplo: C:\Users\someuser\Desktop\csharpprojects\TestProject>

    A seguinte saída deve ser exibida:

    Signed integral types:
    sbyte  : -128 to 127
    short  : -32768 to 32767
    int    : -2147483648 to 2147483647
    long   : -9223372036854775808 to 9223372036854775807
    

Para a maioria dos aplicativos não científicos, provavelmente você só precisa trabalhar com int. Na maioria das vezes, você não precisará de mais de 2,14 bilhões de números inteiros positivos a negativos.

Tipos integrais sem sinal

Um tipo sem sinal usa seus bytes para representar apenas números positivos. O restante do exercício apresenta os tipos integrais sem sinal em C#.

Usar as propriedades MinValue e MaxValue para cada tipo integral sem sinal

  1. Embaixo da passagem de código anterior, adicione o seguinte código:

    Console.WriteLine("");
    Console.WriteLine("Unsigned integral types:");
    
    Console.WriteLine($"byte   : {byte.MinValue} to {byte.MaxValue}");
    Console.WriteLine($"ushort : {ushort.MinValue} to {ushort.MaxValue}");
    Console.WriteLine($"uint   : {uint.MinValue} to {uint.MaxValue}");
    Console.WriteLine($"ulong  : {ulong.MinValue} to {ulong.MaxValue}");
    
  2. Salve o arquivo de código e use o Visual Studio Code para executá-o.

A seguinte saída deve ser exibida:

```Output
Signed integral types:
sbyte  : -128 to 127
short  : -32768 to 32767
int    : -2147483648 to 2147483647
long   : -9223372036854775808 to 9223372036854775807

Unsigned integral types:
byte   : 0 to 255
ushort : 0 to 65535
uint   : 0 to 4294967295
ulong  : 0 to 18446744073709551615
```

Embora um determinado tipo de dados possa ser usado para diversas finalidades, como o tipo de dados byte pode representar um valor de 0 a 255, é óbvio que ele se destina a armazenar um valor que representa um byte de dados. Os dados armazenados em arquivos ou dados transferidos pela Internet geralmente estão em um formato binário. Ao trabalhar com os dados dessas fontes externas, você precisa receber dados como uma matriz de bytes e convertê-los em cadeias de caracteres. Muitos dos métodos na Biblioteca de Classes do .NET que lidam com os dados de codificação e decodificação exigem que você manipule matrizes de bytes.

Recapitulação

  • Um tipo integral é um tipo de dados de valor simples que pode armazenar números inteiros.
  • Há tipos de dados numéricos com e sem sinal. Os tipos integrais com sinal usam um bit para armazenamento, independentemente de o valor ser positivo ou negativo.
  • É possível usar as propriedades MaxValue e MinValue de tipos de dados numéricos para avaliar se um número pode se enquadrar em um tipo de dados determinado.

Verifique seu conhecimento

1.

Que tipo de dados tem um intervalo de números inteiros entre 0 e 65535 no código C#?