Contenu du cours
Bases de C#
Bases de C#
Types de Données Entiers
Le mot-clé int
fait référence au type de données "entier" qui représente essentiellement les nombres entiers.
Dans la dernière section, nous avons appris la syntaxe suivante pour déclarer une variable :
En plus de la syntaxe ci-dessus, il existe une autre méthode de déclaration de variable :
Ici, type
fait référence au type de données de la variable. Jusqu'à présent, nous ne connaissons que int
. Nous pouvons déclarer une variable de type de données entier de la manière suivante :
Dans ce cas, nous pouvons également déclarer une variable sans lui donner de valeur initiale :
Remarque
Donner une valeur initiale à une variable au moment de la déclaration s'appelle initialisation.
Le mot-clé var
permet au compilateur de déduire automatiquement le type de données d'une variable en fonction de la valeur attribuée. Par exemple, dans var myVariable = 7;
, la variable myVariable
se voit attribuer une valeur entière, ce qui fait que son type de données est int
. Une telle variable est appelée une variable typée implicitement.
Remarque
Lors de l'utilisation du mot-clé
var
, la variable doit toujours être initialisée également, donc écrirevar myVariable;
est invalide.
D'autre part, spécifier manuellement le type de données ne nécessite pas de valeur initiale. Par conséquent, int myVariable;
et int myVariable = 10;
sont des déclarations valides. Dans ce cas, myVariable
est une variable typée explicitement.
Le code suivant résume les deux paragraphes ci-dessus :
main
var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid
Il est important de noter que nous ne pouvons pas utiliser une variable à laquelle aucune valeur n'a été assignée. Par conséquent, le code suivant provoquera une ERREUR :
main
int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'
Correction :
main
int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10
Nous pouvons réassigner une variable autant de fois que nous le souhaitons :
main
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
Une variable int
ne peut stocker que des valeurs dans une certaine plage. Il existe un autre type de données long
qui est le même que int
mais qui peut stocker des nombres plus grands.
Stocker un nombre plus grand que ce qu'un type de données peut contenir peut donner des résultats inattendus.
Nous pouvons effectuer des opérations arithmétiques sur les données int
et long
. Le fragment de code suivant montre quelques exemples :
main
// 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.
Il existe deux autres types de données uint
et ulong
, appelés respectivement unsigned int et unsigned long. Un type de données non signé ne peut contenir que des nombres positifs, par conséquent, ils ont une plage positive plus grande.
Merci pour vos commentaires !