Salut tout le monde,
Quel est la différence entre le type DateTime et le type DateTime ?
Merci d'avance.
Cordialement
Salut tout le monde,
Quel est la différence entre le type DateTime et le type DateTime ?
Merci d'avance.
Cordialement
euh aucune
doit y avoir un problème avec la question
Arf j'aurais du mettre des cotes
La différence entre un "DateTime" et un "Datetime?" ?
En fait j'utilise un DatePicker, et la property SelectedDate est de type "DateTime?" et non "DateTime".
Et je comprends pas la différence.
que DateTime? peut etre mis a null
DateTime est une structure et non une classe, par défaut elle ne peut valoir null
Donc comme pour bool,int,double,... tu as sa version nullable bool?,int?,double?...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DateTime maDate =null; // n'est pas valide DateTime? maDate = null; // est valide
DateTime? est un raccourci pour Nullable<DateTime>. La structure Nullable<T> permet de représenter l'absence de valeur pour une variable de type valeur (struct)
Pour tester si un DateTime? a une valeur, tu peux tester s'il est égal à null, ou vérifier sa propriété HasValue :
Pour accéder à la valeur, on passe par la propriété Value :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (datePicker.SelectedDate != null) ... // équivalent à if (datePicker.SelectedDate.HasValue)
(attention, la propriété Value lève une exception si HasValue est false)
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateTime selectedDate = datePicker.SelectedDate.Value;
Enfin, l'opérateur ?? permet de récupérer la valeur, ou une valeur par défaut s'il n'y a pas de valeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2// Renvoie DateTime.Now si datePicker.SelectedDate est null DateTime selectedDate = datePicker.SelectedDate ?? DateTime.Now;
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Partager