2010-05-19 3 views
5

Quand j'essaie de vérifier Session["userId"] != null pourquoi je reçois ce message Possible unintended reference comparrison; to get value comparrison; cast left hand side to string Toute suggestion ....C# possible de comparaison de référence involontaire

+0

Où et comment obtenez-vous ce message? Quelle version du compilateur utilisez-vous? Lorsque je compile le code dans VS 2008, je ne reçois aucun avertissement. – Guffa

+0

Peut-être que le code a été nettoyé un peu? – slugster

+0

Esp. comme le message d'erreur a une faute de frappe :) – pdbartlett

Répondre

8

Session[key] retourne un objet , non une chaîne de caractères - vous devriez la convertir en chaîne plutôt qu'en s'appuyant sur la distribution implicite ou la fonctionnalité ToString().

+0

Il dit la vérité. – gingerbreadboy

1
 if(Session["userId"]!=null) 
     { 

     } 

fonctionne très bien pour moi

0
if (String.IsNullOrEmpty(s)) { 
     return "is null or empty"; 
} 
    else{ 

     return String.Format("(\"{0}\") is not null or empty", s); 
} 

/* true si le paramètre value est null ou une chaîne vide (""); sinon, faux. */