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

Linq Discussion :

Cette expression split est elle correcte ?


Sujet :

Linq

  1. #1
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut Cette expression split est elle correcte ?
    Bonjour,
    j'ai cette expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    Expression tabCleRegroupement = Expression.NewArrayInit(typeof(string[]),
                        Expression.Call(key,
                        typeof(string).GetMethod("Split", new Type[] { typeof(string[]), typeof(StringSplitOptions) }),
                        Expression.Constant(new string[] { Cle.Separateur }), Expression.Constant(StringSplitOptions.None)));

    Key est la propriete key de mon IGrouping, donc c'est un string
    Le separateur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static string Separateur { get { return "_|_"; } }
    Dans le cas ou j'ai Paris_|_Albi, est ce que d'apres vous mon split me renvoie Paris et albi ??

    merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par chris81 Voir le message
    Dans le cas ou j'ai Paris_|_Albi, est ce que d'apres vous mon split me renvoie Paris et albi ??
    Ben le plus simple serait de tester, non ?

  3. #3
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    En fait si je pose la question c'est que j'ai teste donc je vous donne la suite , je ne voulais pas orienter vos réponses.

    Donc ensuite pour récuperer le 1° element du split je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expression[] exp = new Expression[champSourceList.Count()];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp[index] = Expression.ArrayIndex(tabCleRegroupement, Expression.Constant(0));
    et l'expression.ToString est du type {new[]{.......}[0]}, ca c'est ok et normal.

    ensuite j'ajoute ce tableau dans une list en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Expression list = Expression.ListInit(Expression.New(typeof(List<string>)), typeof(List<string>).GetMethod("Add"), exp);
    et la il me dit gentiment un string[] ne peut être ajouté dans une list<string>, je comprend qu'in ne puisse faire l'ajout mais normalement un string[0] renvoi un string et non un string[]....

    merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je crois que le premier paramètre de NewArrayInit devrait être typeof(string) et non typeof(string[])...

  5. #5
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    oui c'est la 1° à laquelle j'ai aussi pensé mais j'ai l'erreur

    Une expression de type 'System.String[]' ne peut pas être utilisée pour initialiser un tableau de type 'System.String'

    au moment de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expression tabCleRegroupement = Expression.NewArrayInit(typeof(string), expSplit);

  6. #6
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    bon en fait j'ai trouvé, j'ai enleve l'étape ou je passe par un nouveau tableau et je recupere directement mes valeur dans mon split en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp[index] = Expression.ArrayIndex(expSplit, Expression.Constant(index));

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

Discussions similaires

  1. Cette fonction est elle correcte?
    Par atlaslion dans le forum Excel
    Réponses: 7
    Dernier message: 16/04/2015, 17h05
  2. [MySQL] cette expression est-elle correcte ?
    Par tycoons dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2010, 19h32
  3. Ma requête est-elle correcte?
    Par nicotine002 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 15/12/2006, 17h58
  4. cette requête est-elle correcte?
    Par spilliaert dans le forum Requêtes
    Réponses: 1
    Dernier message: 02/02/2006, 23h33
  5. Syntaxe est-elle correcte
    Par Silvia12 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/07/2005, 13h21

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