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 :

[C#] Comment utiliser un tableau multi dimensionnel ?


Sujet :

C#

  1. #1
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut [C#] Comment utiliser un tableau multi dimensionnel ?
    Je n'avais jamais utilisé les Jagged Array et je pensais que c'étais aussi simple que le reste. Après lecture du tutorial MSDN, je me suis lancé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    float[][] val = new float[num_x][num_y];
    ceci ne compile pas (incorrctly structured Array Initializer)

    je ne comprend pas...

    ceci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    float[][] val = new float[num_x][];
    mais je veux pouvoir spécifier les 2 tailles !

    merci par avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    contrairement au java, en c# tu es obliger de ne pas spécifier la 2e dimension, en fait tu est obliger de les initialiser individuelements et manuelement.

    si tu veux absolument définir la taille au depart tu dois utiliser les matrice de ce genre ci (pas jagged, l'autre)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int[,] matrix = new int[x,y];

  3. #3
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Je ne les ai jamais utilisé mais je pense que c'est normal que ca ne compile pas dans le 1er cas. Le but et de permettre de spécifier le nombre de cases par ligne, sachant que chaque ligne peut avoir un nombre de cases différent.

    Dans ton cas un tableau multidimensionnel serait peut être plus approprié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float[,] val = new float[num_x, num_y];

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    afin d'utiliser un tableau multi dimensionnel tu doit initialiser chaque dimension une à une
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    float[][] tab = new float[m];
     
    for(int index = 0 ; index < m , index ++ )
    {
      tab[m] = new float[n];
    }
    ainsi tu peux utiliser un tableau à 2 dimensions et chaque "sous dimension" peux avoir une taille différente.

  5. #5
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut
    merci beaucoup à tous et en particulier à dev01, c'est excatement ce qu'il me fallait...c'est fou le temps qu'on peut perdre sur ce genre de bêtises !

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2007, 10h52
  2. Réponses: 3
    Dernier message: 20/12/2006, 17h13
  3. Réponses: 5
    Dernier message: 04/10/2006, 18h49
  4. [Tableaux] Tableau multi dimensionnel
    Par gids01 dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2006, 16h18
  5. [Tableaux] tri sur un tableau multi-dimensionnel
    Par nicoaix dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2006, 21h23

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