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 :

Différence entre Parse et Convert


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Différence entre Parse et Convert
    Bonjour !

    J'ai du mal à discerner la différence entre les deux...

    Si je prends les 2 bouts de programme suivant :

    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
    using System;
     
    namespace CsExosAlgo1
    {
    class ApplicationEqua2 {
     
    static void Main (string[ ] arg) {
     
    double a, b, c, delta ;
    double x, x1, x2 ;
     
    System.Console.Write("Entrer une valeur pour a : ") ;
    a = Double.Parse( System.Console.ReadLine( ) ) ;
    System.Console.Write("Entrer une valeur pour b : ") ;
    b = Double.Parse( System.Console.ReadLine( ) ) ;
    System.Console.Write("Entrer une valeur pour c : ") ;
    c = Double.Parse( System.Console.ReadLine( ) ) ;
    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
    using System;
     
    namespace EquationSecondDegré
    {
        class Program
        {
            static void Main(string[] args)
            {
                string ValeurA = null, ValeurB = null, ValeurC = null;
                double A = 0, B = 0, C = 0;
                double X1 = 0, X2 = 0;
                double Delta = 0;
     
                //Demande des valeurs
                Console.WriteLine("Valeur de A : ");
                ValeurA = Console.ReadLine();
                A = Convert.ToDouble(ValeurA);
                Console.WriteLine("Valeur de B : ");
                ValeurB = Console.ReadLine();
                B = Convert.ToDouble(ValeurB);
                Console.WriteLine("Valeur de C : ");
                ValeurC = Console.ReadLine();
                C = Convert.ToDouble(ValeurC);
    A l'affichage, il n'y a aucune différence, et je récupère mes 3 valeurs à la fin. Qu'est-ce qui m'échappe ? (Juste pour prévenir je débute en C# )

    Merci pour votre aide !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 60
    Points
    60
    Par défaut
    Ce sont les types à convertir, passés en paramètre, qui changent.

    Double.parse prend forcément une string en paramètre
    alors que Convert.ToDouble peut prendre d'autres objets/types en paramètre,
    par exemple un entier, un object, ....

  3. #3
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Si tu regarde la code avec reflector, Convert.ToDouble appel Double.Parse. La class Convert est une classe qui ne fait que regroupé les convertion à une seule place!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Ok ok... Donc si je résume, Convert fait appel à Parse, et Parse ne peut convertir que du string.

    Donc si je veux simplement convertir du string en int ou double pour récupérer une valeur tapée au clavier sur la console, mieux vaut utiliser Parse qui économise une ligne et des variables !

    Merci à vous

  5. #5
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par Ben-j
    Ok ok... Donc si je résume, Convert fait appel à Parse, et Parse ne peut convertir que du string.

    Donc si je veux simplement convertir du string en int ou double pour récupérer une valeur tapée au clavier sur la console, mieux vaut utiliser Parse qui économise une ligne et des variables !

    Merci à vous
    Utilise la class Convert, qui est beaucoup plus flexible car tu peux passé plusieur type et .net fait la conversion pour toi!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Ok je vais faire ça alors merci beaucoup !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/06/2010, 16h33
  2. Réponses: 9
    Dernier message: 28/05/2008, 14h46
  3. différence entre Pull & push parsing?
    Par ferrero dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 04/05/2007, 16h51
  4. Réponses: 11
    Dernier message: 12/02/2007, 17h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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