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 :

[C#] [Débutant] Optimisation ou bonne pratique en C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [C#] [Débutant] Optimisation ou bonne pratique en C#
    Bonjour à tous.

    Je débute et j'ai écris ce morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                string Adresse = BarreAdresse.Text;
                if (Adresse.Length < 4)
                { Adresse = "http://" + Adresse; }
                else
                {
                    if (Adresse.Substring(0, 4) != "http")
                    { Adresse = "http://" + Adresse; };
                }
    Je me dit que par deux foix j'utilise la même ligne "Adresse = "http://" + Adresse;".

    L'un d'entre vous peut-il me montrer quel code équivalant faut-il écrire pour obtenir le même résultat et ceci optimisé pour qu'il soit le plus court possible ?

    Merci.

  2. #2
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Je dirais avec l'opérateur ou:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    string Adresse = BarreAdresse.Text;
                if ((Adresse.Length < 4)||(Adresse.Substring(0, 4) != "http"))
                { Adresse = "http://" + Adresse; }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci cela marche et en plus la réponse est rapide !

    J'avais bien pensé au "ou" mais je n'avais mis qu'un seul "|".
    Donc ce ne marchait pas, je comprends maintenant pourquoi.

  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
    Ca marche aussi en mettant un seul |.
    L'intérêt de || et de &&, c'est que le deuxième objet n'est pas évalué si c'est pas nécessaire. Par exemple (true || machin) renverra true sans jamais chercher à savoir si machin est vrai ou faux. Alors qu'avec (true | machin), on évalue machin, et on fait ensuite (true | true) ou (true | false) selon la valeur de machin.

    Ce truc est au moins aussi vieux que le langage C

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Ca marche aussi en mettant un seul |.
    No cela ne marche pas, car si la chaîne contenue dans Adresse est inférieure à 4 caractéres cela provoque une erreur, voilà pourquoi je disais que cela ne marchait pas.

  6. #6
    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
    Soyons plus précis Ca compile, mais effectivement à l'exécution, le Substring lance une exception. Un exemple typique de l'intérêt du || par rapport au simple |.

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

Discussions similaires

  1. Petite question de bonne pratique pour débutant :)
    Par nabodix dans le forum Débuter
    Réponses: 4
    Dernier message: 04/02/2009, 12h58
  2. Réponses: 4
    Dernier message: 07/10/2008, 14h16
  3. [Débutant] Bonnes pratiques avec les exceptions
    Par scougirou dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2007, 19h18
  4. [log4j][débutant] Bonnes pratiques avec les threads ?
    Par scougirou dans le forum Logging
    Réponses: 1
    Dernier message: 13/07/2007, 16h27
  5. Tutoriel SEO : Introduction et bonnes pratiques pour l'optimisation de pages Web
    Par Community Management dans le forum Référencement
    Réponses: 0
    Dernier message: 06/07/2006, 00h03

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