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 :

Portée d'un Array au niveau Class ?


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    infographiste et codeur AS3
    Inscrit en
    Avril 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : infographiste et codeur AS3
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 45
    Points : 52
    Points
    52
    Par défaut Portée d'un Array au niveau Class ?
    Bonjour à tous,
    Après 8 ans d'arrêt en programmation, je suis un ancien programmeur AS, j'ai décidé de m'y remettre avec C#, seulement, voilà, il est probable que je reste bloqué sur des Principes AS3 et je n'arrive pas à faire fonctionner mes quelques première lignes de code qui me semblent pourtant logiques. J'ai apparemment un souci de portée de variable.
    Les voici:
    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
    19
    20
     
    using System; 
     
    namespace MyApplication
    {
        class Program
        {
            // Var array de class
            private int[] _panier = new int[45];
     
            static void Main(string[] args)
            {
                for(int i=0; i <= _panier.Length-1; i++ )
                {
                    _panier[i] = i;
                    Console.WriteLine(i);
                }
            }
        }
    }
    mon Array _panier ne semble pas être connu dans ma boucle for.. !?? Je vais m'y prendre autrement et remplir mon _panier,
    Mais j'aimerais comprendre pourquoi ce code ne fonctionne pas?

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    Le problème vient que la méthode Main est static, du coup l'accessibilité de ton tableau nécessite une instance de classe. Il te suffit de le déclarer aussi en static.

  3. #3
    Membre du Club
    Homme Profil pro
    infographiste et codeur AS3
    Inscrit en
    Avril 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : infographiste et codeur AS3
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2015
    Messages : 45
    Points : 52
    Points
    52
    Par défaut
    Un grand Merci, c'est fou comme il peut y avoir des différences parfois d'un langage à l'autre, en AS3, Static servait à pouvoir accéder directement à la Classe sans devoir l'instancier, comme la class Math. Mais ici oui, c'est logique, Main étant le point de démarrage, elle ne sera jamais instanciée.. Donc, pour les autres classes que j'ajouterai, mon principe reste valable..
    Un grand merci.

  4. #4
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    Je ne connais pas l'AS3 mais oui c'est comme un peu partout, static permet l'utilisation sans instanciation et comme tu dis, il faut bien que le point d'entrée soit non instanciée (d'ailleurs si tu enlèves le static de la méthode main, le compilateur va faire la tronche).

Discussions similaires

  1. Portée de variable de type Array dans une class
    Par oceanbigone dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/03/2013, 02h02
  2. Réponses: 13
    Dernier message: 04/07/2011, 17h13
  3. Réponses: 10
    Dernier message: 20/12/2010, 18h12
  4. array multi niveau dans un form attaché a plusieurs modèles
    Par Acropole dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 23/12/2007, 15h33
  5. [POO] vider un array membre de classe
    Par jlf dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 10h54

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