O C# é 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.
Curso C# - Fundamentos
Conhecer o cursoCaracterísticas de tipagem
O C# é uma linguagem de tipagem estática, 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.
Curso C# - Orientação a Objetos
Conhecer o cursoTipos 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.
Tipo | Faixa de valores | Tamanho |
---|---|---|
sbyte | -128 a 127 | 8 bits |
byte | 0 a 255 | 8 bits |
short | -32.768 a 32.767 | 16 bits |
ushort | 0 a 65.535 | 16 bits |
int | -2.147.483.648 a 2.147.483.647 | 32 bits |
uint | 0 a 4.294.967.295 | 32 bits |
long | -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | 64 bits |
ulong | 0 a 18.446.744.073.709.551.615 | 64 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.
Tipo | Faixa de valores | Precisão | Tamanho |
---|---|---|---|
float | ±1,5 x 10−45 para ±3,4 x 1038 | ~6 a 9 dígitos | 4 bytes |
double | ±5.0 × 10−324 to ±1.7 × 10308 | ~15 a 17 dígitos | 8 bytes |
decimal | ±1,0 x 10-28 para ±7,9228 x 1028 | 28 a 29 dígitos | 16 bytes |
Tipo booleano
O tipo booleano é usado para armazenar valores que podem ser representados como Verdadeiro ou Falso (sem valores intermediários).
Tipo | Faixa de valores | Tamanho |
---|---|---|
bool | true ou false | 1 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).
Tipo | Faixa de valores | Tamanho |
---|---|---|
char | Um caractere | 2 bytes |
string | Textos | 2 bytes por caractere |
Curso C# - Algoritmos
Conhecer o cursoRegras 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:
string nomeDoAluno = "Cleyson Lima";
int idade = 21;
As variáveis abaixo ferem algumas das convenções:
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
:
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.
Curso C# - LINQ
Conhecer o cursoInferê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
.
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.
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 temos o curso C# - Fundamentos que possui 04h05 de vídeo e um total de 29 exercícios. Conheça também nossos outros cursos de C#.
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.