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 (double) et convert.toDouble(Object) ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut Différence entre (double) et convert.toDouble(Object) ?
    Bonjour à tous,

    habitué au VB depuis quelque temps je me suis mis au C# contraint et forcé pour le développement de webparts.
    Je n'aimais pas la syntaxe C, tant pis pour moi

    Une des différence majeure que j'expérimente en ce moment est le typage très fort de C# (VB est bien plus laxiste).

    Et je ne parviens pas à trouver la différence entre
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     convert.toDouble(Object)
    Pourriez-vous m'éclairer svp ?

    D'avance merci.

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    Une des différence majeure que j'expérimente en ce moment est le typage très fort de C# (VB est bien plus laxiste).

    Et je ne parviens pas à trouver la différence entre
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     convert.toDouble(Object)
    Pourriez-vous m'éclairer svp ?

    D'avance merci.
    Bien trop laxiste! D'ou tes lacunes et ta question aujourd'hui (sans te blamer bien sur!)

    Dans ton premier cast tu fait un cast (équivalent de DirectCast en VB).

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    J'en suis conscient mais en formation on m'a dit "ce sera VB.Net", je n'avais pas trop le choix.

    Bien trop laxiste certes, mais avec de nombreux avantages tout de même, sans compter que VB est quand même le langage "naturel" de MS

    Peux tu m'en dire un peu plus sur le cast et la différence avec un convert ?

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Je ne t'en veut pas hein :-) Mais ces possibilités laxistes de VB ont un cout en performance, à garder à l'esprit.

    Je pense d'ailleurs, suite à mon premier message que ce n'est pas un DirectCast mais plutot un CType; enfin, j'en sais trop rien ne connaissant pas bien le VB.

    Bref.

    (Double)object est casting explicit, il utilise l'operateur de convertion d'u type à l'autre.

    Convert.ToDouble() est une conversion vers Double utilisant le formatage spécifique à la culture du thread courant.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    J'ai bien compris que tu ne m'en voulais pas, ne t'inquiètes pas.
    Je sais de plus que tu as raison

    En ce qui concerne le sujet de base, il va falloir que je bachotte parce que j'ai l'impression que tu me parles en Russe. Je ne saisis (connais ?) pas la différence entre le casting explicit et "le formatage spécifique à la culture du thread courant".

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Petit example du cast explicit:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    public class Human
    {
    	public Human(string name)
    	{
    		Name = name;
    	}
     
    	public string Name { get; set; }
     
    	public static explicit operator Person(Human h)
    	{
    		return new Person("", h.Name);
    	}
     
    	public override string ToString()
    	{
    		return Name;
    	}
    }
     
    public class Person
    {
    	public Person(string title, string name)
    	{
    		Title = title;
    		Name = name;
    	}
     
    	public string Title { get; set; }
    	public string Name { get; set; }
     
    	public override string ToString()
    	{
    		return Name;
    	}
    }
     
    class Program
    {
    	static void Main(string[] args)
    	{
    		Human h = new Human("Neptune");
    		Person p = (Person)h;
     
    		Console.WriteLine(h);
    		Console.WriteLine(p);
    	}
    }

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

Discussions similaires

  1. [Débutant] la différence entre double et uint8
    Par okitrinaw dans le forum Images
    Réponses: 2
    Dernier message: 07/04/2012, 11h38
  2. Réponses: 11
    Dernier message: 12/02/2007, 17h09
  3. Différence entre Parse et Convert
    Par Ben-j dans le forum C#
    Réponses: 5
    Dernier message: 19/01/2007, 22h22
  4. différence entre double et float
    Par Maria1505 dans le forum C++
    Réponses: 2
    Dernier message: 03/01/2007, 05h16
  5. Différence entre Integer et double?
    Par Michel DELAVAL dans le forum Access
    Réponses: 15
    Dernier message: 10/02/2006, 15h57

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