Conhecendo variáveis e constantes no C# \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 13 Horas 

 54 Min 

 28 Seg 

   Tempo restante da oferta: 13 54 28 

  [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) Conhecendo variáveis e constantes no C#  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

# Conhecendo variáveis e constantes no C#

 Conheça neste artigo os tipos de dados presentes no C# e a sintaxe para que possamos declarar variáveis e constantes.

 [ 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#](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-c-sharp) é uma linguagem de programação muito popular, sendo uma excelente escolha devido a sua baixa curva de aprendizado e simplicidade (mas sem deixar de ser uma linguagem poderosa). Além disso, ela é a linguagem principal do .NET.

Neste artigo, conheceremos as variáveis e constantes da linguagem C# e aprenderemos como declará-las.

[  ![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)

## Características de tipagem

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. Para isso, é necessário definir tipos explícitos para as variáveis que são criadas.

Apesar de que em versões mais recentes da linguagem foi adicionado o recurso de inferência de tipos, o que permite que o tipo das variáveis sejam definidos de forma automática pelo compilador, mas é importante frisar que isso não muda o fato do C# ter uma tipagem estática.

Existem algumas vantagens atreladas à utilização de sistemas de tipos estáticos como: equívocos de tipagem geralmente são percebidos com mais facilidade, além de que os processos de refatoração tendem a ser mais a prova de erros. Se acaba sendo necessário trocar o tipo de um parâmetro de uma função, por exemplo, o código não irá compilar até que todos os locais que referenciam o método passem a especificar o tipo correto.

Mas também existem algumas desvantagens: linguagens com tipagem estática têm tendência a serem mais verbosas, já que você precisa sempre estar declarando os tipos das variáveis. Além disso, a tipagem estática pode passar uma falsa sensação de segurança em alguns cenários, ainda mais no caso de versões mais novas das linguagens, que geralmente trabalham com inferência de tipagem, que é o caso do C#.

Além de ser estaticamente tipado, o C# também é fortemente tipado, isso quer dizer que para o C# os tipos dos dados importam, ou seja, 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.

## Tipos de dados padrões C#

Como cada informação com a qual lidamos possui um tipo específico que melhor a representa, devemos escolher corretamente o tipo de variável que vamos utilizar. Portanto, é fundamental conhecer os tipos de dados que a linguagem nos oferece.

A seguir são apresentados os diversos tipos de dados do C#, a faixa de valores que ele aceita e quanto espaço uma variável desse tipo ocupa na memória.

[  ![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)

### Tipos numéricos inteiros

Os tipos numéricos inteiros armazenam números sem parte fracionária (algarismos após a vírgula). Note abaixo que cada tipo aceita uma faixa de valores, e que quanto maior essa faixa, maior também é o espaço ocupado em memória. Veja ainda que os tipos cujo nome começa com a letra “u” (de “unsigned” - sem sinal), não aceitam valores negativos, mas suportam uma faixa maior de valores positivos.

TipoFaixa de valoresTamanhosbyte-128 a 1278 bitsbyte0 a 2558 bitsshort-32.768 a 32.76716 bitsushort0 a 65.53516 bitsint-2.147.483.648 a 2.147.483.64732 bitsuint0 a 4.294.967.29532 bitslong-9.223.372.036.854.775.808 a 9.223.372.036.854.775.80764 bitsulong0 a 18.446.744.073.709.551.61564 bits

O tipo int é o mais comum, mas caso você esteja interessado em trabalhar com faixas de valores específicas, pode optar pelo tipo que melhor lhe atende e que ocupa menos memória.

### Tipos numéricos de ponto flutuante

Os tipos de ponto flutuante representam os números “reais”, ou seja, aqueles que podem possuir uma parte fracionária.

TipoFaixa de valoresPrecisãoTamanhofloat±1,5 x 10−45 para ±3,4 x 1038~6 a 9 dígitos4 bytesdouble±5.0 × 10−324 to ±1.7 × 10308~15 a 17 dígitos8 bytesdecimal±1,0 x 10-28 para ±7,9228 x 102828 a 29 dígitos16 bytes

### Tipo booleano

O tipo booleano é usado para armazenar valores que podem ser representados como Verdadeiro ou Falso (sem valores intermediários).

TipoFaixa de valoresTamanhobooltrue ou false1 bit

### Tipos textuais

Também é muito comum que precisemos lidar com textos. Para esses casos, de forma geral os textos podem ser armazenados pelos tipos char e string. O primeiro é usado para apenas um caractere, enquanto o segundo é uma coleção de caracteres (um texto).

TipoFaixa de valoresTamanhocharUm caractere2 bytesstringTextos2 bytes por caractere

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

## Regras de nomeação de variáveis

A fim de manter uma mínima padronização do código-fonte, o C# estabelece alguns padrões para a definição de nomes para as variáveis:

- Variáveis têm seu nome definido com a primeira letra minúscula. Caso se trate de um nome composto, a primeira letra deve ser minúscula, enquanto as outras devem ser maiúsculas. Espaços não podem ser utilizados no meio dos nomes das variáveis;
- As variáveis não devem contar com caracteres especiais em seu nome. A única exceção é o underline (\_) em algumas situações, como na definição de estruturas privadas;
- Os nomes devem ser declarativos e autoexplicativos;
- As variáveis são case-sensitive. Isso quer dizer que “nomeDoAutor” é diferente de “nomeDoautor”, de “NomeDoAutor” e de “nomedoautor”, por exemplo.

As variáveis abaixo seguem as convenções de nomenclatura:

```csharp
string nomeDoAluno = "Cleyson Lima";
int idade = 21;

```

As variáveis abaixo ferem algumas das convenções:

```csharp
int a = 0; // nome não é autoexplicativo
string NomeDoAluno = "Cleyson Lima"; // variável começando com letra maiúscula
int _idade = 21; // variável começando com caractere especial

```

## Declarando constantes

Constantes, 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;

```

Veja que no caso das constantes a convenção de nomenclatura é que seja utilizado o PascalCase, ou seja, a primeira letra de cada palavra deve ser em maiúsculo.

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

## Inferência de tipos

A inferência de tipos é uma técnica que permite que os tipos das variáveis sejam definidos de forma automática pelo compilador a partir do seu contexto, isso quer dizer que o compilador irá atribuir de forma automática o tipo da variável no momento de sua declaração a partir do tipo de dado que está sendo atribuído para a mesma.

Esse processo permite que sejamos capazes de escrever um código menos verboso, pois não há mais a necessidade de explicitamente informar qual será o tipo da variável no momento de sua declaração.

No C# para que possamos utilizar a inferência de tipos fazemos uso da palavra reservada `var`.

```csharp
var nomeDoAluno = "Cleyson Lima"; // A váriavel será do tipo string pois recebe um dado do tipo string
var idade = 21; // A váriavel será do tipo int pois recebe um dado do tipo int
var estaVivo = true; // A váriavel será do tipo boolean pois recebe um dado do tipo boolean

```

Importante frisar que a inferência de tipos não retira o status de linguagem estaticamente tipada do C#, pois uma vez que o tipo foi definido mesmo que de forma automática a mesma não pode ter o seu tipo alterado ao longo da execução do programa, além disso é importante notar que a inferência de tipos só é possível de ser realizada caso a variável seja declarada e tenha seu valor inicial atribuído no mesmo momento.

```csharp
var idade;
idade = 21;

```

O código acima não irá compilar e irá produzir um erro de compilação, pois no momento da criação da variável o compilador não é capaz de “adivinhar” qual deve ser o tipo da mesma, uma vez que não há o processo de atribuição do seu valor inicial no momento de sua declaração.

## Conclusão

Como vimos nesse artigo, o C# possui uma tipagem estática e forte, o que faz com que as variáveis não possam ter seu tipo alterado ao longo da execução do programa e também que o C# não irá realizar conversão de tipos de forma automática.

Por fim, caso queira aprender mais sobre o C# e sua infinidade de recursos saiba que aqui na [TreinaWeb](https://www.treinaweb.com.br/) temos o curso [C# - Fundamentos](https://www.treinaweb.com.br/curso/csharp-fundamentos) que possui **04h05 de vídeo** e um total de **29 exercícios**. Conheça também nossos outros cursos de [C#](https://www.treinaweb.com.br/cursos?q=C%23).

Veja quais são os tópicos abordados durante o curso de C# - Fundamentos:

- Preparar o ambiente de desenvolvimento;
- Criar novos projetos e compreender sua estrutura;
- Declarar e utilizar variáveis e operadores;
- Utilizar estruturas condicionais e de repetição;
- Utilizar classes, métodos e namespaces;
- Tratar exceções e depurar seu código.

- [ #.NET ](https://www.treinaweb.com.br/blog/tag/dotnet)
- [ #C# ](https://www.treinaweb.com.br/blog/tag/csharp)
- [ #variáveis ](https://www.treinaweb.com.br/blog/tag/variaveis)
- [ #constantes ](https://www.treinaweb.com.br/blog/tag/constantes)

Autor

 ![Cleyson Lima](//secure.gravatar.com/avatar/db30efb102ffa5d5204cebe12060b111?d=mm)

## Cleyson Lima

 Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/cleyson-lima)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

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

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/como-instalar-o-dart-e-executar-seu-primeiro-exemplo-400x280.png)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no Dart ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-dart) 

     Neste artigo conheceremos as variáveis e constantes no Dart.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/VARIÁVEIS-JAVA-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no Java ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-java) 

     Conheça neste artigo as variáveis, tipos de dados e constantes da linguagem Java.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/05/como-instalar-o-csharp-e-nosso-primeiro-exemplo-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     4 anos atrás

    ##  [ Guia da linguagem C# ](https://www.treinaweb.com.br/blog/guia-da-linguagem-csharp) 

     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!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Guias ](https://www.treinaweb.com.br/blog/categoria/guias) 

     3 anos atrás

    ##  [ Guia da linguagem Go ](https://www.treinaweb.com.br/blog/guia-da-linguagem-go) 

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

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/GUIA-LINGUAGEM-JAVA-400x280.png)  [ Java ](https://www.treinaweb.com.br/blog/categoria/java) 

     6 anos atrás

    ##  [ Guia da linguagem Java ](https://www.treinaweb.com.br/blog/guia-da-linguagem-java) 

     Confira neste guia os principais tópicos para iniciar seus estudos na linguagem Java.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/08/07161700/gerenciamento-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     4 anos atrás

    ##  [ Empacotando e publicando pacotes Python no PyPi ](https://www.treinaweb.com.br/blog/empacotando-e-publicando-pacotes-python-no-pypi) 

     Neste artigo iremos aprender como funciona o processo de empacotar e distribuir nossos próprios pacotes Python no PyPi.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/ESTRUTURAS-CONDICIONAIS-REPETIÇÃO-400x280.png)  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) 

     6 anos atrás

    ##  [ Estruturas condicionais e de repetição ](https://www.treinaweb.com.br/blog/estruturas-condicionais-e-de-repeticao) 

     Entenda a função das estruturas condicionais (If - Else) e de repetição (While - For) nos estudos sobre lógica de programação.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/12132017/introducao-swoole-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Introdução ao Swoole, framework PHP assíncrono baseado em corrotinas ](https://www.treinaweb.com.br/blog/introducao-ao-swoole-framework-php-assincrono-baseado-em-corrotinas) 

     Uma Introdução ao Swoole, framework PHP assíncrono baseado em corrotinas e comparação dele com o modelo tradicional que usa um servidor web (nginx, apache etc) com PHP-FPM.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/10/o-que-e-e-como-comecar-com-golang-400x280.jpg)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     4 anos atrás

    ##  [ Conhecendo variáveis e constantes na Golang ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-na-golang) 

     Conheça neste artigo os tipos de dados presentes e a sintaxe para que possamos declarar variáveis e constantes na Golang.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/CONHECENDO-VÁRIAVEIS-CONSTANTES-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no JavaScript ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-javascript) 

     Neste artigo vamos aprender a declarar e a utilizar constantes e variáveis no JavaScript, entendendo quando definir var, let e const.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/01/conhecendo-variaveis-e-constantes-no-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     6 anos atrás

    ##  [ Conhecendo variáveis e constantes no Python ](https://www.treinaweb.com.br/blog/conhecendo-variaveis-e-constantes-no-python) 

     Conheça neste artigo as variáveis e constantes no Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/GUIA-LINGUAGEM-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Guia da Linguagem JavaScript ](https://www.treinaweb.com.br/blog/guia-da-linguagem-javascript) 

     Neste Guia da Linguagem Javascript vamos abordar aspectos fundamentais, como: tipos de dados, variáveis, objetos, arrays e muito mais.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **13h 54min 28s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

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

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

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
