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 :

Récupération de tableaux après params


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte système
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte système

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Par défaut Récupération de tableaux après params
    Bonjour,

    J'ai une question concernant l'utilisation du paramètre de méthode "params".

    Dans ma méthode je récupère 1 tableau de string, 1 tableau de double et un nombre indéfini de tableaux de double.
    Elle est donc définie ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void GrapheMS(string[] Elements, double[] AxeReference, params object[] Mesures)
    {
          ....
    }
    Je précise que j'utilise un tableau de type object pour éviter cette erreur sur lors de l'envoie des tableaux en paramètres.
    Impossible de convertir implicitement le type 'double' en 'double[]'
    Je récupère bien tout ce qui est envoyé en paramètre dans Mesures (1 ou 10 tableaux) cependant je n'arrive pas à récupérer les tableaux contenu dans celui-ci (Mesures[0] contient le premier tableau, Mesures[1] le 2ème etc ...)

    J'ai essayé de l'utiliser comme un tableau à 2 dimensions mais cela ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Nombre d'indices incorrects dans []*;' 1' attendu	
    Console.WriteLine(Mesures[0,0]);
    Je pensais aussi extraire les tableaux contenu dans Mesures en les envoyant dans d'autres tableaux (une ligne de Mesures par tableau).

    Donc pour éviter de créer un nombre de tableaux en fonction de "Mesures.Length" (impossible si je ne me trompe pas), j'ai placé une boucle for autour de ma boucle de traitement pour changer de tableau à chaque fin de traitement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for (int j = 0; j < Mesures.Length; j++)
    {
         // Impossible de convertir implicitement le type 'double' en 'double[]'
         double[] valeur = Convert.ToDouble(Mesures[j]);
     
         for (int i = 0; i < AxeReference.Length; i++)
         {
              ...
         }
    }
    Cependant je rencontre un problème lorsque je veux récupérer les tableaux contenu dans les lignes de Mesures. L'erreur est la même quelque soit le types et je sèche un peu sur ce coup la.

    Si quelqu'un a une idée ou une solution (même différente), je suis preneur.

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    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
    private void toto(params double[][] mesures)
        {
          foreach (double[] arrD in mesures)
          {
            foreach (double d in arrD)
            {
              MessageBox.Show(d.ToString());
            }
          }
        }
     
        private void button1_Click(object sender, EventArgs e)
        {
          double[] d1 = { 1.1, 2.1, 3.1 };
          double[] d2 = { 1.2, 2.2, 3.2 };
     
          toto(d1, d2);
        }

  3. #3
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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
    21
    22
    23
    24
    25
    26
    27
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                double[] tab1 = {1.0, 2.0, 3.0};
                double[] tab2 = {4.0, 5.0, 6.0};
     
                print_tab(tab1, tab2);
            }
     
            static void print_tab(params double [][] tabs)
            {
                var results = from tab in tabs
                              from item in tab
                              select item;
     
                results.ToList<Double>().ForEach(x => Console.WriteLine(x));
            }
        }
    }
    Cordialement.

  4. #4
    Membre averti
    Homme Profil pro
    Architecte système
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte système

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Par défaut
    Merci beaucoup c'est justement ce que je cherchais

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

Discussions similaires

  1. PL/SQL COMPARAISON DE DEUX TABLEAUX APRES BULK
    Par mimi_été dans le forum PL/SQL
    Réponses: 5
    Dernier message: 30/06/2009, 12h14
  2. Réponses: 2
    Dernier message: 19/05/2008, 05h28
  3. Réponses: 1
    Dernier message: 04/06/2007, 11h34
  4. Réponses: 3
    Dernier message: 19/04/2007, 21h55
  5. [MySQL] syntaxe variable lors d'une récupération de valeurs après mysql
    Par mussara dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/11/2006, 13h30

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