Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Tipos de Dados Inteiros | Lidando com Tipos de Dados
Noções Básicas de C#
course content

Conteúdo do Curso

Noções Básicas de C#

Noções Básicas de C#

1. Começando
2. Lidando com Tipos de Dados
3. Estruturas de Controle
4. Loops
5. Arrays
6. Métodos

book
Tipos de Dados Inteiros

The int keyword refers to the "integer" data type which basically represents the integer numbers.

In the last section we learnt the following syntax for declaring a variable:

Apart from the above syntax, there is another method of variable declaration:

Here type refers to the data type of the variable. So far, we know only int. We can declare a variable of integer data type in the following way:

In this case, we can also declare a variable without giving it an initial value:

Note

Giving an initial value to a variable at the time of declaration is called initialization.

The var keyword allows the compiler to automatically infer the datatype of a variable based on the assigned value. For instance, in var myVariable = 7;, the variable myVariable is assigned an integer value, making its data type int. Such a variable is called an Implicitly-Typed Variable.

Note

When using the var keyword, the variable must always be initialized as well, therefore writing var myVariable; is invalid.

On the other hand, manually specifying the datatype doesn't require an initial value. Therefore, both int myVariable; and int myVariable = 10; are valid statements. In this case, myVariable is an Explicitly-Typed Variable.

The following code summarizes the above two paragraphs:

cs

main

copy
12345
var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid

It is important to note that we cannot use a variable that hasn't been assigned any value. Therefore the following code will give an ERROR:

cs

main

copy
12
int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'

Correction:

cs

main

copy
123
int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10

We can reassign a variable as many times as we want:

cs

main

copy
12345678
int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7

An int variable can only store values within a certain range. There is another datatype long which is the same as int however it can store bigger numbers.

Storing a bigger number than a data type can hold might give unexpected results.

We can perform arithmetic operations on int and long data. The following snippet of code shows some examples:

cs

main

copy
1234567891011121314151617181920
// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.

There are two other data types uint and ulong, called unsigned int and unsigned long respectively. An unsigned data type can only hold positive numbers, consequently they have a bigger positive range.

Which one of the following datatypes is suitable for storing a large positive integer value?

Which one of the following datatypes is suitable for storing a large positive integer value?

Selecione algumas respostas corretas

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1
We're sorry to hear that something went wrong. What happened?
some-alt