1. #1
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : août 2003
    Messages : 110
    Points : 52
    Points
    52

    Par défaut [C#] Comment créer une variable globale?

    Hello

    Ben voila ma question est toute bete; je cherche à créer une variable disponible pour l'ensemble de mon projet. Seulement je ne vois pas comment faire.

    Merci d'avance pour toute réponse

    PS: je précise qu'il s'agit de vs2005.

  2. #2
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 143
    Points : 1 365
    Points
    1 365

    Par défaut

    Ca la rend disponible à tout les objets du processus courant.

  3. #3
    Membre du Club Avatar de FraktaL
    Profil pro
    Inscrit en
    août 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : août 2003
    Messages : 110
    Points : 52
    Points
    52

    Par défaut

    je comprends pas trop

    je mets ou le static? Dans quelle classe?

    Si j'ai une variable static dans ma Form1, que celle-ci avant de se fermer appelle Form2 est ce que la variable sera disponible dans Form2 meme si Form1 est déchargée?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    9 163
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 9 163
    Points : 19 297
    Points
    19 297

    Par défaut

    Il veut parler d'une variable membre de ta classe:

    private static int MaVariable

  5. #5
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : janvier 2006
    Messages : 1 143
    Points : 1 365
    Points
    1 365

    Par défaut

    une variable static, dans une classe, c'est aussi ce qu'on appelle une variable de classe. Si tu as fait des études en POO tu vois de quoi je parle.

    Sinon, bah la différence c'est que tu l'appelles non pas en utilisant une référence d'instance, mais en utilisant une référence de classe.

    Illlustration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class MaClass
    {
      // variable d'instance (ou champ)
      public int varinst = 0;
      // variable de class (ou champ static)
      public static int varclass = 0;
    }
     
    // et ailleurs dans ton code :
    // je créé une instance
    MaClasse monobject = new MaClasse(...);
    // j'utilise la variable associée à un instance de MaClass
    monobjet.varinst = 5;
     
    // j'utilise la variable associée à MaClass
    MaClasse.varclass = 2;
    REMARQUE : la variable static varclass est créée au moment où tu créé la PREMIERE INSTANCE de MaClasse. Et elle n'est pas détruite, même si toutes les isntances de MaClasse sont détruites.

    Donc oui, ta variable static dans Form1 restera acessible.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : mars 2017
    Messages : 3
    Points : 5
    Points
    5

    Par défaut

    Citation Envoyé par Mose Voir le message
    Ca la rend disponible à tout les objets du processus courant.
    Punaise ça c'est de la réponse claire, détaillée et précise !!
    Certains oublie parfois qu'il y a de vrais débutant qui posent des questions !

  7. #7
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 375
    Points : 4 688
    Points
    4 688
    Billets dans le blog
    5

    Par défaut

    Citation Envoyé par Thomas Lebrun Voir le message
    private static int MaVariable
    Presque ! Il faut juste remplacer la visibilité private par public afin d'avoir l'équivalent d'une variable globale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class MaClasse
    {
       public static int MaVariable;
    }
    La variable globale est alors accessible partout via MaClasse.MaVariable
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  8. #8
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2011
    Messages
    1 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2011
    Messages : 1 818
    Points : 3 400
    Points
    3 400

    Par défaut

    Bon, je crois qu'en une petite douzaine d'années l'OP a certainement trouvé sa solution, hein
    Plus je connais de langages, plus j'aime le C.

  9. #9
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 375
    Points : 4 688
    Points
    4 688
    Billets dans le blog
    5

    Par défaut

    Oh punaise, le bon déterrage. Remarque judicieuse jopopmk !!!
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. comment créer une variable d'environnement en global
    Par vandeyy dans le forum Windows 7
    Réponses: 2
    Dernier message: 18/09/2012, 23h48
  2. comment créer une variable globale
    Par didafd dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 09/11/2011, 10h38
  3. Créer une variable globale après un window.opener
    Par renaud26 dans le forum JavaScript
    Réponses: 16
    Dernier message: 29/08/2006, 10h49
  4. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  5. Comment déclarer une variable globale
    Par davkick dans le forum C
    Réponses: 13
    Dernier message: 20/05/2005, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo