C# Nullable<DateTime> string
J'ai un DateTime?
variable, parfois, la valeur est null
, comment puis-je retourner une chaîne vide ""
lorsque la valeur est null
ou la DateTime
valeur lorsqu'il n'est pas null
?
Vous devez vous connecter pour publier un commentaire.
Si plusieurs de ces réponses sont correctes, tous d'entre eux sont inutilement complexes. Le résultat de l'appel à ToString sur nullable DateTime est déjà une chaîne vide si la valeur est logiquement null. Suffit d'appeler ToString sur votre valeur; il va faire exactement ce que vous voulez.
.Day
.Week
parce que cela va vous donner la totalité de la Dateheure chaîne et de perdre le pouvoir de la classe DateTime. par exemple,myVariable.Value.Hour.ToString()
. Juste un exemple de la raison pour laquelle vous voulez peut-être faire autrement.Nullable
.En fait, c'est le comportement par défaut pour les types Nullables, l'absence d'une valeur qu'ils ne retournent rien:
cela donne
Nullable<T>
Réflecteur 🙂Appel
.ToString()
sur unNullable<T>
qui estnull
retourne une chaîne vide.Vous pourriez écrire une méthode d'extension
public static string ToSafeString<T>(this T? obj) where T : struct
🙂Tout ce que vous devez faire est de simplement appeler
.ToString()
. Il gèreNullable<T>
objet pournull
valeur.Ici est la source de .NET Framework pour
Nullable<T>.ToString()
:Selon La documentation de Microsoft: