Convertir un type en nullable [Résolu]

Messages postés
142
Date d'inscription
jeudi 10 février 2005
Dernière intervention
2 octobre 2008
- - Dernière réponse : cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 17 juil. 2007 à 13:11
Bonjour !

existe-t-il une facon propre, prévue par le framework, pour convertir un type en nullable ?
Par exemple, je voudrais faire ceci :

int? myNullableValue;
if (selectedValue == "0")
   myNullableValue = new Nullable();
else
   myNullableValue = Convert.Toint32(selectedValue); 

...mais je trouve pas ca très joli...
Quelqu'un à une idée ?
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
58
3
Merci
Pourquoi pas:

int
? x =

null
;


if
(y z) x

Convert
.ToInt32(

"w"
);













<hr />
-Blog-

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Dernière intervention
29 janvier 2008
0
Merci
Alors pour commencer un int ne peux pas etre null ;)

par contre sur une date : tu peux faire Nullable<Datetime> maDate;

et faire des test  :

if (da.HasValue){

Console.Write(da.Value.ToString());

}

-------------------------------------------http://quoideneufaujourdhui.spaces.live.com
Commenter la réponse de bernie666
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
58
0
Merci
Salut,
Le cast est implicite de x à nullable<x> (et explicite de nullable<x> à x)

int? x =
null;

int y = 3;
x = y;

<hr />
-Blog-
Commenter la réponse de cs_Bidou
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Dernière intervention
2 octobre 2008
0
Merci
merci pour vos réponses !
mais par contre ca plante à la compilation quand jécris ceci :


int? myNullableInt = (DDLDivision.SelectedValue == "0") ? null : Convert.ToInt32(DDLDivision.SelectedValue)


car le compilateur dit qu'il n'existe pas de convertion implicite entre un nullable et un int...
Il faut donc que j'écrive ceci pourque mon code compile :

int? myNullableInt = (DDLDivision.SelectedValue == "0") ? newNullable() : Convert.ToInt32(DDLDivision.SelectedValue)

hum...je ne sais pas pourquoi mais quelque chose me dit qu'il y a une facon plus jolie d'utiliser les types Nullable...
Commenter la réponse de zigxag

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.