Il est souvent nécessaire d'utiliser des variables supplémentaires qui ne seront utilisées que dans le sous-programme. De telles variables sont appelées locales (ou locales) et ne peuvent être manipulées qu'au sein du sous-programme dans lequel elles sont créées.
La portée de la variable locale est le bloc entre accolades dans lequel elle est déclarée. div>
Le programme principal en C# est également une sous-routine, donc toutes les variables déclarées dans
void Main()
sont des
variables locales. Les autres sous-programmes ne "savent" rien des variables locales des autres sous-programmes.
Ainsi, il est possible de limiter la portée (portée) d'une variable uniquement au sous-programme où elle est vraiment nécessaire. En programmation, cette technique est appelée
encapsulation - empêcher la variable de la modifier de l'extérieur.
S'il est nécessaire de déclarer une variable qui serait visible n'importe où dans le programme (dans n'importe quel sous-programme), alors ces variables sont déclarées en dehors de tous les sous-programmes (voir le programme 3 du tableau ci-dessous).
Ces variables sont appelées
globales.
En C#, au démarrage du programme, toutes les variables globales sont automatiquement mises à zéro (les variables booléennes prennent la valeur false).
Analysez trois programmes :
1) Dans ce programme, la variable i est locale. Une variable locale est déclarée à l'intérieur d'un sous-programme. |
2) Ici, même s'il y a une variable i dans le programme principal (avec la valeur 7), une nouvelle variable locale i avec la valeur 5 sera créée.
Lorsque ce programme est exécuté, la valeur 75 apparaîtra à l'écran. |
3) Ce programme a une variable globale i. Sa valeur peut être modifiée à l'intérieur du sous-programme et à l'intérieur du programme principal.
La procédure fonctionnera avec la variable globale i et lui attribuera une nouvelle valeur égale à 2. La valeur 2 s'affiche. |
test de vide statique()
{
int je = 5 ;
Console.Write("je");
}
test de vide statique()
{
int je = 5 ;
Console.Write("je");
}
vide statique Main()
{
int je = 7 ;
Console.Write("je");
test();
}
utiliser le système ;
Programme de classe
{
int je ;
test de vide statique()
{
je = 2 ;
}
vide statique Main()
{
test();
Console.Write("je");
}
}