Guia da linguagem C# \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 02 Horas 

 27 Min 

 29 Seg 

   Tempo restante da oferta: 02 27 29 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Guia da linguagem C#  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) [ Guias ](https://www.treinaweb.com.br/blog/categoria/guias) 

# Guia da linguagem C#

 Nesse guia de C# você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação C#. Acesse agora mesmo!

 [ Cleyson Lima ](https://www.treinaweb.com.br/blog/autor/cleyson-lima) 4 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/05/como-instalar-o-csharp-e-nosso-primeiro-exemplo.png)  

O C# é uma linguagem de programação multiparadigma criada pela Microsoft, sendo a principal da plataforma .NET. Por ser uma linguagem que suporta, entre outros paradigmas, a orientação à objetos, ela suporta conceitos comuns como encapsulamento, herança e polimorfismo. Trata-se também de uma linguagem fortemente tipada e case-sensitive, ou seja, faz diferenciação entre letras minúsculas e maiúsculas.

Além disso o C# é uma linguagem multiplataforma. Sendo assim, você pode utilizá-la para desenvolver para plataformas web, dispositivos móveis e aplicações desktop. Com a praticidade dessa linguagem, você pode, de forma relativamente fácil, desenvolver desde projetos mais simples até projetos complexos e multiplataforma.

Para ver mais detalhes sobre o C# recomendo a leitura do nosso artigo “[O que é e como começar com C# (C Sharp)?](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-c-sharp)”

[  ![C# - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/c-sharp.svg)   Curso C# - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/csharp-fundamentos)

## Como instalar o C# e nosso primeiro exemplo

Agora que já sabemos o que é o C# e suas principais características, estamos prontos para realizar a instalação e executar o nosso primeiro exemplo com a linguagem como podemos acompanhar em nosso artigo “[Como instalar o C# e nosso primeiro exemplo](https://www.treinaweb.com.br/blog/como-instalar-o-csharp-e-nosso-primeiro-exemplo)”.

## Conhecendo variáveis e constantes

O C# é uma linguagem de [tipagem estática](https://www.treinaweb.com.br/blog/quais-as-diferencas-entre-tipagens-estatica-ou-dinamica-e-forte-ou-fraca/), ou seja, existe um sistema de tipos bem definido e que é validado durante o tempo de compilação do código. Além disso o C# também é uma linguagem fortemente tipada, isso significa que o C# não irá realizar conversão automática de tipos, caso alguma conversão seja necessária ela deve ser feita de forma explícita pela pessoa que está desenvolvendo o software.

Por padrão, o C# possui em sua biblioteca padrão diversos tipos de dados, abaixo estão listados os mais comuns de serem utilizados:

- **byte**: um inteiro com valor 8 bits, onde seu intervalo de valores vai do -128 até o 127. É um dado leve, que ocupa pouco espaço em memória;
- **char**: trata-se de um único caractere unicode de 16 bits. Seu intervalo de valores vai do ‘\\u0000’ ou 0 até o valor máximo ‘\\uffff’ ou 65535. É utilizado para armazenar caracteres de maneira isolada;
- **string**: trata-se de um conjunto de caracteres de tamanho indefinido onde cada um dos caracteres possui o tamanho de dois bytes;
- **short**: trata-se de um valor inteiro de 16 bits. Seu intervalo de valores vai do -32.768 até o 32.767;
- **int**: trata-se de um valor inteiro de 32 bits. Suporta valores de -2.147.483.648 a 2.147.483.647;
- **long**: define um valor inteiro de 64 bits. Suporta valores de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807;
- **boolean**: é um dos tipos de dados mais simples, pois ele pode armazenar apenas dois valores: true (verdadeiro) ou false (falso). É empregado para realizar testes lógicos, dentro de estruturas de decisão e repetição, por exemplo.
- **float**: trata-se de um tipo de dado de ponto flutuante de 32 bits. Isso quer dizer que ele permite armazenar valores decimais entre 6 e 7 casas. Porém, o armazenamento em memória pode não representar necessariamente o valor repassado. Por exemplo, um float definido com “0,001” pode acabar sendo armazenado como “0,00100001”, e isso não somente no Java, já que isso é decorrência dos pontos flutuantes em geral. Por isso, o tipo float não deve ser usado para operações que precisam passar por várias operações aritméticas, como no caso de sistemas financeiros. Isso porque, a primeira vista, essa imprecisão pode não impactar, mas na sequência de operações realizadas, estas imprecisões podem começar a aparecer nos resultados;
- **double**: representa um ponto flutuante de 64 bits. Por isso, ele permite armazenar números de até cerca de 15 casas decimais. A observação para o tipo float também é válida para o tipo double: por ser um tipo de dado que é armazenado por aproximação de valores, ele não deve ser utilizado em operações que demandam precisão absoluta.

Depois de vermos os tipos de dados, podemos criar nossas variáveis. Elas têm algumas regras, como por exemplo, devem ser claras e auto-explicativas.

```csharp
string nomeDoAluno = "";
int idade = 0;

```

Também temos as constantes, que sob um ponto de vista prático são como variáveis, só que com o ponto de que seu valor não pode ser modificado. Isso quer dizer que, se você declara uma constante chamada `MaioridadePenal` com o valor 18, esse valor não poderá ser jamais modificado durante a execução da aplicação.

A maneira de declarar uma constante no C# é através da palavra reservada `const`:

```csharp
const int MaioridadePenal = 18;

```

No artigo sobre [variáveis e constantes no C#](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-csharp), podemos nos aprofundar no uso de constantes e ver mais exemplos e explicações sobre o uso de variáveis.

[  ![C# - Orientação a Objetos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/c-sharp.svg)   Curso C# - Orientação a Objetos Conhecer o curso ](https://www.treinaweb.com.br/curso/csharp-orientacao-a-objetos)

## Estruturas condicionais e estruturas de repetição

As estruturas condicionais e de repetição são fundamentais e vem para nos ajudar no reaproveitamento de código.

As estruturas condicionais possibilitam ao programa tomar decisões e alterar o seu fluxo de execução. Isso possibilita ao desenvolvedor o poder de controlar quais são as tarefas e trechos de código executados de acordo com diferentes situações, como os valores de variáveis. Algumas estruturas condicionais no Java são o `if/else` e o `switch/case`.

Abaixo temos um exemplo simples da utilização do `if/else`. Nele verificamos se a pessoa é maior ou menor de idade, dependendo do valor que contiver na variável idade.

```csharp
int idade = 18;
if (idade >= 18)
{
    Console.WriteLine("Você é maior de idade!");
}
else
{
    Console.WriteLine("Você é menor de idade!");
}

```

As estruturas de repetição, também conhecidas como loops (laços), são utilizadas para executar repetidamente uma instrução ou bloco de instrução enquanto determinada condição estiver sendo satisfeita. As principais estruturas de repetição são o `for` e o `while`.

Vejamos um exemplo abaixo utilizando o `for`. Aqui teremos uma variável começando em zero, onde, a cada rodada, ela irá somar +1. Isso irá se repetir até que a variável chegue até 10, encerrando assim esse bloco.

```csharp
for (int i = 0; i
