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 :

StreamWriter : supprimer le dernier caractère entré


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut StreamWriter : supprimer le dernier caractère entré
    Hello,

    Je dois lire une série de valeur dans un tableau, et les écrire dans un fichier, en séparant les valeurs par un point-virgule. Mais je ne dois pas ajouter de point-virgule après la dernière valeur...

    J'ai une bête boucle qui lit chaque valeur dans le tableau, l'écrit dans le flux, puis rajoute un point-virgule. Mais ça me chagrine de tester à chaque fois si j'ai affaire à la dernière valeur, ou bien d'ajouter la dernière valeur en dehors de la boucle. Y a-t-il moyen de supprimer le dernier caractère (le point-virgule superflu) une fois que je suis sorti de la boucle ?

    Sinon, y aurait-il moyen transformer mon tableau de double en une chaine de caractère dont le valeurs seraient séparées par un point-virgule ?

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Tu es sûr de vouloir mettre de la complexité dans ton code pour éviter d'avoir à faire un malheureux if ?

  3. #3
    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
    Tu peux aussi faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string sep = "";
    while (gna gna gna)
    {
      maChaine += sep + itemDeMonTableau;
      sep =";";
    }
    Mais bon, je ne sais pas si ça fait avancer le Schmilblik

  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
    On ne peut pas "revenir en arrière" dans un StreamWriter.

    Par contre tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double[] tableau = ...
    string s = string.Join(";", tableau.Select(d => d.ToString()).ToArray());
    En 4.0 tu peux directement faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double[] tableau = ...
    string s = string.Join(";", tableau);
    Ou alors, avec un StringBuilder, tu peux écrire tout ce que tu veux et ensuite enlever le dernier caractère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    double[] tableau = ...
    StringBuilder sb = new StringBuilder();
    foreach(double d in tableau)
    {
        sb.Append(d);
        sb.Append(";");
    }
    if (sb.Length > 0)
        sb.Length--;

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

Discussions similaires

  1. Supprimer le dernier caractère du buffer
    Par soso78 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/03/2008, 13h05
  2. Réponses: 7
    Dernier message: 26/12/2007, 17h02
  3. Supprimer le dernier caractère d'une string
    Par calagan99 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/07/2007, 10h31
  4. Supprimer le dernier caractère "€"?
    Par wormseric dans le forum Langage
    Réponses: 3
    Dernier message: 04/06/2007, 16h52
  5. [Chaines] Supprimer le dernier caractère
    Par Commodore dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2006, 09h35

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