2010-01-13 5 views
2

J'ai un XML que j'interroge. L'un des nœuds est manquant. Donc, quand j'appelle XElement.Value, j'obtiens une exception nulle.Traiter la valeur nulle de XElement

Quelle est la meilleure façon de se prémunir contre cela? Je sais que je peux écrire une méthode d'extension, mais je me demande s'il y a quelque chose de construit dans la langue pour cela?

Répondre

6

utiliser l'opérateur soudent null ??

Compte tenu d'une XElement élém:

var value = (string)elem ?? "empty"; 
+4

C'est la bonne réponse, mais il est intéressant de souligner que le bit important est ici vraiment que 'conversion explicite de XElement' to string renverra null si l'entrée est null - alors que 'element.Value' lèvera une exception. –

+1

donc en supposant que XElement est nul. chaîne myvalue = (chaîne) XElement; Votre valeur sera-t-elle nulle? chaîne myvalue = XElement.Value; va jeter une exception. chaîne myvalue = (chaîne) XElement ?? "vide"; donnera à myvalue une valeur de "vide"? – zachary

Questions connexes