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

 .NET Discussion :

équivalent de implode/explode (php) pour c#


Sujet :

.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Points : 21
    Points
    21
    Par défaut équivalent de implode/explode (php) pour c#
    Bonsoir

    Je suis à la recherche d'une fonction qui transformerait un tableau de String avec un séparateur (pour préparer une requête).

    en php cela donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tab = array("a", "b", "c");
    $chaine = implode(",",$tab);//ce qui donne a,b,c
    Voilà comment je fais pour l'instant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string listeChamps="";
    foreach (string val in tabString)
    {
        listeChamps += val + ",";
    }
    listeChamps= listeChamps.Remove(listeChamps.Length - 1, 1);
    Existe t-il une autre solution? (pas trouvé sur google, implode ne renvoi rien sur les forums dotnet)

    Merci
    Dean

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Alors pour implode tu peux utiliser Join

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string[] tab = { "a", "b", "c" };
     
    string res = string.Join(", ", tab);
    Pour explode tu peux utiliser Split

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string s = "a, b, c";
     
    string[] res = s.Split(new string[] { "," });
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Merci Skyrunner ça fonctionne pour moi

    J'avais bien vu cette fonction mais sans pouvoir l'utiliser, sans doute une histoire de casse...Enfin c'est génial.

    Thank

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Si c'est résolu :

    Merci
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    J'ai compris pourquoi ça ne marchait pas

    Je cherchais à faire

    monString = tab.Join(", ");

    Au lieu de

    monString = string.Join(", ", tab);


  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Le tag c'est le bouton en dessous du dernier message de la discussion
    Il est à côté du bouton "Ajouter une réponse".
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Le tag c'est le bouton en dessous du dernier message de la discussion
    Il est à côté du bouton "Ajouter une réponse".
    ok merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/06/2008, 09h10
  2. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 22h31
  3. Réponses: 1
    Dernier message: 04/04/2005, 16h16
  4. Réponses: 4
    Dernier message: 21/09/2003, 15h50

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