IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Variable, classe, novice


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut Variable, classe, novice
    Salut j'ai une petite question. J'ai créer un tableau appelé matrix dans mon Main. Il faut que je réutilise ce tableau dans une autre fonction nommée "beaufort" ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     public class Program
        {public static void Main(string[] args){ 
      string[] alphabet = new string[27]{"A","B","C"};
                string[,] matrix = new string[27,27];
                [..]}
    
    public static string beaufort(string str){
             for (int laligne = 1; laligne < 27; laligne++)
                {
    matrix[1,laligne]
    }
                }

    Mais ça ne fonctionne pas comme ça, je pensais qu'il fallait jouer avec les "public" etc, mais c'est pas comme dans les structures apparemment. Donc j'apprécierais si quelqu'un pourrait m'aider vite fait il me semble que c'est assez facile mais j'arrive pas à mettre le doigt dessus

    Merci

  2. #2
    Membre très actif Avatar de oussi
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 192
    Par défaut
    Salut,
    Effectivement il faut utiliser "public" mais il faut aussi que la déclaration soit dans le contexte globale c'est à dire juste après le "public class Program"

    @++

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    Comme ceci ?

    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
     public class Program
        {
                string[] alphabet = new string[27]{"A","B","C"};
                string[,] matrix = new string[27,27];
     
           public static void Main(string[] args)
              { [..]}
     
    public static string beaufort(string str)
           {
                for (int laligne = 1; laligne < 27; laligne++)
                {
                    matrix[1,laligne]
                 }
            }
    Voici l'erreur qui apparait dans ce cas

    http://img34.imageshack.us/img34/3422/errw.jpg

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Non pas comme ceci car il faut obligatoirement que matrix soit déclarée static car beaufort est static.

    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 Program
        {
                string[] alphabet = new string[27]{"A","B","C"};
                static string[,] matrix = new string[27,27];
     
           public static void Main(string[] args)
              { [..]}
     
    public static string beaufort(string str)
           {
                for (int laligne = 1; laligne < 27; laligne++)
                {
                    matrix[1,laligne]
                 }
            }

  5. #5
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Par défaut
    merci

  6. #6
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    De rien, sinon il y a une autre façon de l'écrire sans passer par le static.
    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
    17
    18
     
    public class Program
    {
      string[] alphabet = new string[27]{"A","B","C"};
      string[,] matrix = new string[27,27];
     
    public static void Main(string[] args)
    {
        new Program().beaufort(...);
    }
     
    public string beaufort(string str)
           {
                for (int laligne = 1; laligne < 27; laligne++)
                {
                    matrix[1,laligne]
                 }
            }
    Avec cela je pense que tu comprendras mieux pourquoi tu ne peux pas utiliser une variable de classe non static dans une méthode static de la class

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Visibilité Variable Classe Visual Studio 2008
    Par mulfycrowh dans le forum Visual C++
    Réponses: 1
    Dernier message: 05/10/2010, 07h17
  2. Accès variables classes
    Par PP(Team) dans le forum Langage
    Réponses: 5
    Dernier message: 17/08/2010, 14h07
  3. Passage variable classe fille -> classe mère
    Par Vincent F dans le forum C#
    Réponses: 4
    Dernier message: 13/07/2009, 17h46
  4. [PHP 5.3] Portée de variable: class > include > fonction
    Par Yanonix dans le forum Langage
    Réponses: 8
    Dernier message: 06/02/2009, 23h43
  5. [POO] Portée des variables, classe....
    Par Avatar dans le forum Langage
    Réponses: 3
    Dernier message: 27/11/2005, 21h25

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