Variáveis ​​C # e tipos de dados (primitivos)

Neste tutorial, aprenderemos sobre variáveis, como criar variáveis ​​em C # e diferentes tipos de dados que a linguagem de programação C # suporta.

Uma variável é um nome simbólico dado a um local de memória. Variáveis ​​são usadas para armazenar dados em um programa de computador.

Como declarar variáveis ​​em C #?

Aqui está um exemplo para declarar uma variável em C #.

 idade interna;

Neste exemplo, uma idade variável do tipo int(inteiro) é declarada e só pode armazenar valores inteiros.

Podemos atribuir um valor à variável posteriormente em nosso programa, como:

 idade interna;……… idade = 24;

No entanto, a variável também pode ser inicializada com algum valor durante a declaração. Por exemplo,

 idade int = 24;

Aqui, uma idade variável do tipo inté declarada e inicializada ao 24mesmo tempo.

Visto que é uma variável, podemos alterar o valor das variáveis ​​também. Por exemplo,

idade int = 24; idade = 35;

Aqui, o valor da idade é alterado de 24 para 35.

As variáveis ​​em C # devem ser declaradas antes de serem usadas. Isso significa que o nome e o tipo da variável devem ser conhecidos antes de receber um valor. É por isso que o C # é chamado de linguagem de tipo estático.

Uma vez declarado, o tipo de dados de uma variável não pode ser alterado dentro de um escopo. Um escopo pode ser pensado como um bloco de código onde a variável está visível ou disponível para uso. Se você não entendeu a declaração anterior, não se preocupe; aprenderemos sobre escopos nos capítulos posteriores.

Por enquanto, lembre-se, não podemos fazer o seguinte em C #:

idade interna; idade = 24;……… idade de flutuação;

Variáveis ​​digitadas implicitamente

Alternativamente, em C #, podemos declarar uma variável sem saber seu tipo usando a varpalavra-chave. Essas variáveis ​​são chamadas de variáveis ​​locais com tipo implícito .

As variáveis ​​declaradas com a varpalavra-chave devem ser inicializadas no momento da declaração.

 valor var = 5;

O compilador determina o tipo de variável a partir do valor atribuído à variável. No exemplo acima, o valor é do tipo int. Isso é equivalente a:

valor int; valor = 5;

Você pode aprender mais sobre variáveis ​​locais digitadas implicitamente.

Regras para nomear variáveis ​​em C #

Existem certas regras que precisamos seguir ao nomear uma variável. As regras para nomear uma variável em C # são:

  1. O nome da variável pode conter letras (maiúsculas e minúsculas), sublinhado (_) e apenas dígitos.
  2. O nome da variável deve começar com uma letra, sublinhado ou símbolo @. Por exemplo, regras para nomear variáveis ​​em C #
    Nomes de Variáveis Observações
    nome Válido
    assunto101 Válido
    _era Válido (prática recomendada para nomear variáveis ​​de membro privadas)
    @pausa Válido (usado se o nome for uma palavra-chave reservada)
    101sujeito Inválido (começa com dígito)
    seu nome Válido
    seu nome Inválido (contém espaço em branco)
  3. C # diferencia maiúsculas de minúsculas. Significa idade e idade refere-se a 2 variáveis ​​diferentes.
  4. Um nome de variável não deve ser uma palavra-chave C #. Por exemplo, if, for, usingnão pode ser um nome de variável. Discutiremos mais sobre palavras-chave C # no próximo tutorial.

Melhores práticas para nomear uma variável

  1. Escolha um nome de variável que faça sentido. Por exemplo, nome, idade, assunto fazem mais sentido do que n, a e s.
  2. Use a notação camelCase (começa com a letra minúscula) para nomear variáveis ​​locais. Por exemplo, numberOfStudents, age, etc.
  3. Use PascalCase ou CamelCase (começa com letra maiúscula) para nomear variáveis ​​de membro público. Por exemplo, Nome, Preço, etc.
  4. Use um sublinhado à esquerda (_) seguido pela notação camelCase para nomear variáveis ​​de membro privadas. Por exemplo, _bankBalance, _emailAddress, etc.

Você pode aprender mais sobre as convenções de nomenclatura em C # aqui.

Não se preocupe com as variáveis ​​de membro públicas e privadas. Aprenderemos sobre eles em capítulos posteriores.

Tipos de dados primitivos C #

Variáveis ​​em C # são amplamente classificadas em dois tipos: tipos de valor e tipos de referência . Neste tutorial, discutiremos sobre tipos de dados primitivos (simples) que são uma subclasse de tipos de valor.

Os tipos de referência serão abordados em tutoriais posteriores. No entanto, se você quiser saber mais sobre os tipos de variáveis, visite Tipos e variáveis ​​do C # (documentos oficiais do C #).

Booleano (bool)

  • O tipo de dados booleano tem dois valores possíveis: trueoufalse
  • Valor padrão :false
  • Variáveis ​​booleanas geralmente são usadas para verificar condições como em instruções if, loops, etc.

Por exemplo:

 using System; namespace DataType ( class BooleanExample ( public static void Main(string() args) ( bool isValid = true; Console.WriteLine(isValid); ) ) )

Quando executamos o programa, a saída será:

 Verdade

Integral Assinado

Esses tipos de dados contêm valores inteiros (positivos e negativos). Do total de bits disponíveis, um bit é usado para sinal.

1. sbyte

  • Size: 8 bits
  • Range: -128 to 127.
  • Default value: 0

For example:

 using System; namespace DataType ( class SByteExample ( public static void Main(string() args) ( sbyte level = 23; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 23

Try assigning values out of range i.e. less than -128 or greater than 127 and see what happens.

2. short

  • Size: 16 bits
  • Range: -32,768 to 32,767
  • Default value: 0

For example:

 using System; namespace DataType ( class ShortExample ( public static void Main(string() args) ( short value = -1109; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -1109

3. int

  • Size: 32 bits
  • Range: -231 to 231-1
  • Default value: 0

For example:

 using System; namespace DataType ( class IntExample ( public static void Main(string() args) ( int score = 51092; Console.WriteLine(score); ) ) )

When we run the program, the output will be:

 51092

4. long

  • Size: 64 bits
  • Range: -263 to 263-1
  • Default value: 0L (L at the end represent the value is of long type)

For example:

 using System; namespace DataType ( class LongExample ( public static void Main(string() args) ( long range = -7091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 -7091821871

Unsigned Integral

These data types only hold values equal to or greater than 0. We generally use these data types to store values when we are sure, we won't have negative values.

1. byte

  • Size: 8 bits
  • Range: 0 to 255.
  • Default value: 0

For example:

 using System; namespace DataType ( class ByteExample ( public static void Main(string() args) ( byte age = 62; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 62

2. ushort

  • Size: 16 bits
  • Range: 0 to 65,535
  • Default value: 0

For example:

 using System; namespace DataType ( class UShortExample ( public static void Main(string() args) ( ushort value = 42019; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 42019

3. uint

  • Size: 32 bits
  • Range: 0 to 232-1
  • Default value: 0

For example:

 using System; namespace DataType ( class UIntExample ( public static void Main(string() args) ( uint totalScore = 1151092; Console.WriteLine(totalScore); ) ) )

When we run the program, the output will be:

 1151092

4. ulong

  • Size: 64 bits
  • Range: 0 to 264-1
  • Default value: 0

For example:

 using System; namespace DataType ( class ULongExample ( public static void Main(string() args) ( ulong range = 17091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 17091821871

Floating Point

These data types hold floating point values i.e. numbers containing decimal values. For example, 12.36, -92.17, etc.

1. float

  • Single-precision floating point type
  • Size: 32 bits
  • Range: 1.5 × 10−45 to 3.4 × 1038
  • Default value: 0.0F (F at the end represent the value is of float type)

For example:

 using System; namespace DataType ( class FloatExample ( public static void Main(string() args) ( float number = 43.27F; Console.WriteLine(number); ) ) )

When we run the program, the output will be:

 43.27

2. double

  • Double-precision floating point type. What is the difference between single and double precision floating point?
  • Size: 64 bits
  • Range: 5.0 × 10−324 to 1.7 × 10308
  • Default value: 0.0D (D at the end represent the value is of double type)

For example:

 using System; namespace DataType ( class DoubleExample ( public static void Main(string() args) ( double value = -11092.53D; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -11092.53

Character (char)

  • It represents a 16 bit unicode character.
  • Size: 16 bits
  • Default value: ''
  • Range: U+0000 ('u0000') to U+FFFF ('uffff')

For example:

 using System; namespace DataType ( class CharExample ( public static void Main(string() args) ( char ch1 ='u0042'; char ch2 = 'x'; Console.WriteLine(ch1); Console.WriteLine(ch2); ) ) ) 

When we run the program, the output will be:

 B x

The unicode value of 'B' is 'u0042', hence printing ch1 will print 'B'.

Decimal

  • Decimal type has more precision and a smaller range as compared to floating point types (double and float). So it is appropriate for monetary calculations.
  • Size: 128 bits
  • Default value: 0.0M (M at the end represent the value is of decimal type)
  • Range: (-7.9 x 1028 to 7.9 x 1028) / (100 to 28)

For example:

 using System; namespace DataType ( class DecimalExample ( public static void Main(string() args) ( decimal bankBalance = 53005.25M; Console.WriteLine(bankBalance); ) ) ) 

When we run the program, the output will be:

 53005.25

The suffix M or m must be added at the end otherwise the value will be treated as a double and an error will be generated.

C# Literals

Let's look at the following statement:

 int number = 41;

Here,

  • int is a data type
  • number is a variable and
  • 41 is a literal

Literals are fixed values that appear in the program. They do not require any computation. For example, 5, false, 'w' are literals that appear in a program directly without any computation.

Boolean Literals

  • true and false are the available boolean literals.
  • They are used to initialize boolean variables.

For example:

 bool isValid = true; bool isPresent = false;

Integer Literals

  • Integer literals are used to initialize variables of integer data types i.e. sbyte, short, int, long, byte, ushort, uint and ulong.
  • If an integer literal ends with L or l, it is of type long. For best practice use L (not l).
     long value1 = 4200910L; long value2 = -10928190L;
  • If an integer literal starts with a 0x, it represents hexadecimal value. Number with no prefixes are treated as decimal value. Octal and binary representation are not allowed in C#.
     int decimalValue = 25; int hexValue = 0x11c;// decimal value 284

Floating Point Literals

  • Floating point literals are used to initialize variables of float and double data types.
  • If a floating point literal ends with a suffix f or F, it is of type float. Similarly, if it ends with d or D, it is of type double. If neither of the suffix is present, it is of type double by default.
  • These literals contains e or E when expressed in scientific notation.
     double number = 24.67;// double by default float value = -12.29F; double scientificNotation = 6.21e2;// equivalent to 6.21 x 102 i.e. 621

Character and String Literals

  • Character literals are used to initialize variables of char data types.
  • Character literals are enclosed in single quotes. For example, 'x', 'p', etc.
  • They can be represented as character, hexadecimal escape sequence, unicode representation or integral values casted to char.
     char ch1 = 'R'; // caractere char ch2 = ' x0072'; // hexadecimal char ch3 = ' u0059'; // unicode char ch4 = (char) 107; // convertido de inteiro
  • Literais de string são a coleção de literais de caracteres.
  • Eles estão entre aspas duplas. Por exemplo, "Olá", "Programação fácil", etc.
    string firstName = "Richard"; string lastName = "Feynman";
  • C # também oferece suporte a caracteres de sequência de escape, como:
    Personagem Significado
    \' Citação única
    " Citação dupla
    \ Barra invertida
    Nova linha
    Retorno de carruagem
    Guia horizontal
    a Alerta
     Backspace

Artigos interessantes...