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 :

Intérêt de mot clef const dans une méthode


Sujet :

C#

  1. #1
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut Intérêt de mot clef const dans une méthode
    Bonjour,

    J'utilise depuis quelques temps l'excellent plugin Reshaper, celui-ci me propose de temps à autre de mettre certaines variables de méthode à const;

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                string rowModel = "<tr class='{0}' onclick=\"{1}\">"
                                    + "<td style='text-align:center;'> voir la situation du niveau N{2}{3} modifiée par {4}</td>"
                                  + "</tr>";
    Pour ce bout de code Reshaper me propose de définir la variable rowModel en constante à l'intérieur de la méthode.

    Aussi je voudrais savoir si cela a un intérête particulier en dotnet ? Si oui pourriez-vous me l'expliquer et ainsi éclairer ma lanterne.

    Merci.
    Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais )

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Ca evite de faire des erreurs que quelqu'un modifie par erreur rowModel
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par teddyalbina Voir le message
    Pour ce bout de code Reshaper me propose de définir la variable rowModel en constante à l'intérieur de la méthode.
    Peut être par ce que tu fais des concaténations de chaine et que si tu définis cela en const, ce sera calculé au moment de la compilation.

    A vérifier dans l'IL pour confirmer.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Je ne pense pas que ça influe l'IL; osons espérer que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var a = "a" + "b" + "c";
    est inliné par le compilo c# (qui pourtant fait très peu d'optimisations de ce genre, puisqu'il produit de l'IL qui est moins optimisable qu'un assembleur donné).

    Resharper te proposera toujours de contraindre ton code le plus possible. Par exemple, en suggérant de rendre statique toute méthode privée qui ne fait pas appel à this.
    Pourquoi ce const ? Ben pour la même raison que les membres d'une classe qu'on ne touche jamais sont const: si on n'y touche pas, et qu'on y touche jamais, autant rendre explicite le fait que cette chaîne n'est pas un intermédiaire de calcul.
    A vérifier, mais c'est peut être une notion de C# qui n'existe pas en IL, d'ailleurs. (je parle des variable const au sein des méthodes).
    ಠ_ಠ

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/12/2014, 08h45
  2. Ajouter des liens sur des mots clefs contenu dans une div
    Par Nementon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/05/2010, 11h32
  3. Problème de const et de pointeur dans une méthode
    Par Vonziz dans le forum Débuter
    Réponses: 15
    Dernier message: 18/09/2008, 14h41
  4. sécuriser le mot de passe dans une page asp
    Par Redouane dans le forum ASP
    Réponses: 2
    Dernier message: 10/03/2004, 21h16

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