Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Comprendre la portée des variables en C# : Niveaux classe, méthode et bloc

Comprendre la portée des variables en C#

Ce guide explique comment fonctionne la portée des variables en C#, couvrant les portées au niveau classe, méthode et bloc avec des exemples clairs et pratiques.

La portée d'une variable détermine où elle peut être accédée dans votre code. En C#, vous rencontrez trois portées principales.


Portée de variable au niveau classe

Quand une variable est déclarée à l'intérieur d'une classe mais en dehors de toute méthode ou constructeur, c'est un champ et peut être accédée par tous les membres de cette classe. C'est ce qu'on appelle la portée au niveau classe.

using System;
namespace VariableScope {
    class Program {
        // Champ de niveau classe
        string str = "Niveau Classe";
        public void Afficher() {
            Console.WriteLine(str);
        }
        static void Main(string[] args) {
            Program ps = new Program();
            ps.Afficher();
            Console.ReadLine();
        }
    }
}

Sortie

Niveau Classe

Dans cet exemple, str est un champ, donc il est disponible dans toute la classe Program, y compris la méthode Afficher.

Note importante : Les champs d'instance ne sont pas accessibles depuis les méthodes statiques à moins qu'une instance ne soit utilisée. Par exemple :

static void Afficher2() {
    // Cela causera une erreur de compilation
    Console.WriteLine(str);
}

Portée de variable au niveau méthode

Les variables déclarées à l'intérieur d'une méthode sont locales à cette méthode. Elles ne peuvent pas être référencées en dehors de la méthode qui les définit, ce qu'on appelle la portée au niveau méthode.

using System;
namespace VariableScope {
    class Program {
        public void Methode1() {
            // Variable locale
            string str = "niveau méthode";
        }
        public void Methode2() {
            // Essayer d'accéder à str ici causera une erreur
            Console.WriteLine(str);
        }
        static void Main(string[] args) {
            Program ps = new Program();
            ps.Methode2();
            Console.ReadLine();
        }
    }
}

Tenter d'utiliser str dans Methode2 résulte en l'erreur du compilateur :

Erreur CS0103 : Le nom 'str' n'existe pas dans le contexte actuel

Inversement, une variable locale peut être utilisée dans la même méthode :

using System;
namespace VariableScope {
    class Program {
        public void Afficher() {
            string str = "dans la méthode";
            Console.WriteLine(str);
        }
        static void Main(string[] args) {
            Program ps = new Program();
            ps.Afficher();
            Console.ReadLine();
        }
    }
}

Sortie

dans la méthode

Portée de variable au niveau bloc en C#

Les variables déclarées dans un bloc — tel que boucles, instructions if ou autres portées imbriquées — ne sont accessibles qu'à l'intérieur de ce bloc. C'est ce qu'on appelle la portée au niveau bloc.

using System;
namespace VariableScope {
    class Program {
        public void Afficher() {
            for (int i = 0; i <= 3; i++) {
                // i est confiné à cette boucle for
            }
            // Console.WriteLine(i); // ❌ erreur de compilation
        }
        static void Main(string[] args) {
            Program ps = new Program();
            ps.Afficher();
            Console.ReadLine();
        }
    }
}

Ici, le compteur de boucle i ne peut pas être référencé après la boucle, car sa portée se termine avec le bloc.

Langue C

  1. Maîtriser le mot-clé global en Python : Comment et quand l'utiliser
  2. Maîtriser les pointeurs en C++ : Concepts, exemples et applications pratiques
  3. Variables C, types de données et constantes – Guide pratique
  4. Comprendre les affectations Verilog : Types, Syntaxe et Bonnes Pratiques
  5. Modélisation au Niveau des Portes : Relier Schémas Matériels au Code Verilog
  6. Comprendre et Afficher les Timescales Verilog à Toute Portée
  7. Comprendre les Types de Variables en Java : Guide Complet
  8. Comprendre les variables en C : Types, règles de nommage et gestion mémoire
  9. Comprendre les règles de portée en C : Variables locales, globales et formelles