J'ai une table de données qui contient un "CreateDate" et un "UpdateDate" colonnes. J'essaye de trouver le plus petit CreateDate et le plus grand UpdateDate. Ce n'est pas difficile mais les colonnes peuvent contenir NULL (ou DBNull) et cela me fait trébucher. J'utilisais ce qui suit:Trouver datetime min/max dans les lignes datatable
DateTime dtMin = DateTime.MaxValue;
DateTime dtMax = DateTime.MinValue;
foreach(DataRow dr in dt.Rows)
{
DateTime dtCreateDate = dr.Field<DateTime>("CreateDate");
DateTime dtUpdateDate = dr.Field<DateTime>("UpdateDate");
dtMin = dtMin > dtCreateDate ? dtCreateDate : dtMin;
dtMax = dtMax > dtUpdateDate ? dtMax : dtUpdateDate;
}
Jusqu'à ce que je tape une ligne avec une date NULL.
Je pensais à ce sujet, mais si dans la première itération j'ai trouvé un dtCraeteDate valide et dans l'itération suivante j'obtiens une date NULL à comparer, je ne veux pas remettre dtCreatDate à DateTime.MinValue. – NoBullMan
J'ai mis à jour ma suggestion. Déclarez DateTime? qui vous permettent de contenir une valeur nulle – hiule