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 copier la 2ième dimension d'un tableau dans un tableau unidimensionel ?


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut [C#] Comment copier la 2ième dimension d'un tableau dans un tableau unidimensionel ?
    Bonjour,

    j'ai un tableau à deux dimensions
    j'aimerai obtenir un tableau unidimensionnel à partir de la ligne du tableau à deux dimensions.

    Comment puis-je faire ?

    Merci d'avance.
    ++

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Si j'ai bien compris ce que tu veux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //double[,] data
     
    double[] tab = new double[data.GetLength(0) * data.GetLength(1)];
     
                for (int i = 0; i < data.GetLength(0); i++)
                    for (int j = 0; j < data.GetLength(1); j++)
                        tab[i * data.GetLength(1) + j] = data[i, j];
    Mehdi Feki : Modérateur .Net

  3. #3
    Membre actif
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Points : 252
    Points
    252
    Par défaut
    En fait, je pense qu'il veut faire un truc du style:

    double[,] table1;
    double[] table2 = table1[1];

    (ce qui correspondrait à la première ligne du tableau table1...)

  4. #4
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par Pilloutou
    En fait, je pense qu'il veut faire un truc du style:

    double[,] table1;
    double[] table2 = table1[1];

    (ce qui correspondrait à la première ligne du tableau table1...)

    Non ce n'est pas possible de le faire avec un tableau multidimentionnel.
    Il faut plutot utiliser dans ce cas un jagged array :

    Mehdi Feki : Modérateur .Net

  5. #5
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par Pilloutou
    (ce qui correspondrait à la première ligne du tableau table1...)
    Plutôt la deuxieme

    Bon si tu veux recuperer une ligne avec un tableau declaré comme tu le fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //double[,] data
     
    int NumeroLigne=0;
    double[] tab = new double[data.GetLength(1)];
     
       for (int j = 0; j < data.GetLength(1); j++)
            tab[j] = data[NumeroLigne, j];
    Mehdi Feki : Modérateur .Net

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Ok je vous remercie pour vos réponses...

    En fait, une fonction me retourne un tableau de donnés multidimensionnel. Et je ne souhaite récupérer qu'une ligne.
    Je vais effectivement utiliser ta solution. En fait, je me demandais si dans la classe Array, il n'y avait pas une méthode existante qui le faisait.

    ++

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2021, 16h05
  2. [Débutant] VBnet 2010 Comment copier le contenu de plusieurs documents words dans un seul ?
    Par antoine.deshayes dans le forum Accès aux données
    Réponses: 0
    Dernier message: 28/07/2012, 14h54
  3. Réponses: 5
    Dernier message: 22/07/2011, 17h13
  4. Réponses: 8
    Dernier message: 30/03/2009, 12h45
  5. Réponses: 5
    Dernier message: 07/01/2006, 16h55

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