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 :

Remplir une string à partir d'un tableau de string bouclé [Débutant]


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Remplir une string à partir d'un tableau de string bouclé
    Bonjour,
    A partir de Environment.GetCommandLineArgs() je souhaite rassembler toutes les cases du tableau >4 dans une même string.
    Les premières valeurs (<4) sont fixes; le reste est de taille variable (entre 1 et 10).

    Voila le code tel que je l'aurai souhaité, la partie en gras pose problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                string user ;
                string password ;
                string adresse ;
                string commande;
    
              string[] Arguments= Environment.GetCommandLineArgs();
                for (int i = 4; i< Arguments.Length; ++i)
                {
                    user = Arguments[1];
                    password = Arguments[2];
                    adresse = Arguments[3];
                     commande += Arguments[i];
                }
    But du code :

    Arguments[0][a][b][c][z][x][w]
    user ="a"
    password ="b"
    adresse ="c"
    commande="z x w "

    Si quelqu'un peut me décoincer
    Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    Peu être comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                string user ;
                string password ;
                string adresse ;
                string commande;
     
              string[] Arguments= Environment.GetCommandLineArgs();
                    user = Arguments[1];
                    password = Arguments[2];
                    adresse = Arguments[3];
                for (int i = 4; i< Arguments.Length; ++i)
                {
                     commande += Arguments[i];
                }
    Ps: un conseil utilise plutôt un stringbuilder ou un string.concat plutôt q'un += pour un soucis de performance.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    De mémoire, le += est plus performant que le string.concat() pour un nombre de string inférieur à 4.

    De toute manière, les plus gros problème de performances viennent des complexités d'algorithme, plus précisément lié aux boucles. Faire de l'opti la dessus n'a aucun sens, à part dégrader la lisibilité.

    Pour en revenir au sujet initial, si tu as LinQ, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var justeLaCommande =Arguments.Skip(4); // Récupère tous les arguments sauf les 4 premiers
    var laCommandeEnUneSeuleString = string.Concat(justeLaCommande);
     
    // Si tu veux séparer les cases de ton tableau dans ta string, tu peux faire un Join()
    // var laCommandeEnUneSeuleString = string.Join(", ",justeLaCommande);
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut

    Super, Merci MaximePalmisano !

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

Discussions similaires

  1. Remplir une combobox à partir d'un tableau
    Par whitea dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/10/2013, 21h52
  2. Remplir une listview à partir d'un tableau Array
    Par Gecoo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/04/2010, 16h05
  3. [String] Remplir un tableau de String à partir d'une boucle "for"
    Par dev197 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 12/08/2009, 15h29
  4. Ajout aléatoire d'une String dans une balise XML à partir d'un tableau de String
    Par chebmo1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/03/2009, 11h21
  5. Remplir une plage à partir d'un tableau
    Par roudy78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2007, 10h56

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