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#] Peut-on comparer strings en passant simplement par l'opérateur == ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Par défaut [C#] Peut-on comparer strings en passant simplement par l'opérateur == ?
    Bonjour
    Je cherche a savoir si dans un test if je peux comparer de chaine string avec l'operateur ==
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string s1 = string.empty ;
    string s2 = string.empty ;
    s1 = "toto" ;
    s2 = "toto" ;
    if( s1 == s2 ) // est ce que je pourrai le faire ?
                      // ou faut il vraiment mettre .COMPARE()
    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    1. Lire les règles du forum : http://www.developpez.net/forums/showthread.php?t=31919
    2. Quel est le résultat de tes essais ?

  3. #3
    Membre confirmé Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Par défaut
    J'ai pas fais de test: Parce que apparemment parfois ça marche parfois ça marche pas.

    J'attend une reponse Merci.

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par bartoumi
    J'ai pas fais de test: Parce que apparemment parfois ça marche parfois ça marche pas.

    J'attend une reponse Merci.
    il aurais été interressant de nous decrire dans quelles conditions les utilisations de l'opérateur == ne fonctionnent pas. Auquel cas pour le type string, il me semble que la méthode Equals devrait être sûre.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    Le == compare des références d'objets.
    Cela va marcher uniquement avec des chaînes constantes. Le compilateur optimise le stockage des chaîne en évitant de recopier plusieurs fois la même.
    Les chaînes "toto" auront donc la même référence et de ce fait, la comparaison est vrai.

    Dans le cas général, le résultat sera faux.
    Il faut utiliser String.Equals()

  6. #6
    Membre confirmé Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Par défaut
    Bonjour
    Au fait y'a pas de condition particulieres.
    La question est est ce que si je compare deux string avec l'operateur == j'aurais un resultat 100% juste.
    La polemeique viens de mes colegues de travail qui eux disent que l'operateur == n'est pas fiable ?
    MErci

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    Citation Envoyé par bartoumi
    La polemeique viens de mes colegues de travail qui eux disent que l'operateur == n'est pas fiable ?
    Il est parfaitement fiable.
    Le résultat obtenu n'est simplement pas la comparaison du contenu des string.

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

Discussions similaires

  1. Peut-on comparer les informaticiens à du lubrifiant
    Par thaundeadboss dans le forum La taverne du Club : Humour et divers
    Réponses: 41
    Dernier message: 11/07/2011, 19h06
  2. Réponses: 3
    Dernier message: 27/04/2010, 12h13
  3. Peut on comparer UML avec Merise ?
    Par wafiwafi dans le forum UML
    Réponses: 5
    Dernier message: 09/09/2009, 00h25
  4. Peut-on comparer un fichier du cache avec un fichier qu'on veut précharger ?
    Par 12_darte_12 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 05/12/2006, 12h13
  5. Réponses: 4
    Dernier message: 21/09/2004, 21h25

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