TimeSpan mit einem nullable Datum
Wie kann ich subtrahieren zwei Zeitpunkte, wenn einer von Ihnen auf null gesetzt werden?
public static int NumberOfWeeksOnPlan(User user)
{
DateTime? planStartDate = user.PlanStartDate; //user.PlanStartDate is: DateTime?
TimeSpan weeksOnPlanSpan;
if (planStartDate.HasValue)
weeksOnPlanSpan = DateTime.Now.Subtract(planStartDate); //This line is the problem.
return weeksOnPlanSpan == null ? 0 : weeksOnPlanSpan.Days / 7;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Subtrahieren zwei Zeitpunkte, zu denen null, einer oder beide von Ihnen ist nullable Sie nur subtrahieren Sie. Die Subtraktion operator macht das richtige; es gibt keine Notwendigkeit für Sie zu schreiben, um die Logik selbst, der bereits in der Subtraktion-operator.
Besetzung der nullable datetime als eine normale datetime.
Wenn Sie wissen, es ist nicht null, dann wird der cast funktionieren.