У меня небольшая проблема с приведенным ниже кодом, переменная «дней» всегда кажется 0 независимо от того, насколько далеки друг от друга дни.C# Количество дней между двумя заданиями даты
Вы видите что-то явно не так?
System.TimeSpan span = dates[0] - dates[1]; // e.g. 12/04/2010 11:44:08 and 18/05/2010 11:52:19
int days = (int)span.TotalDays;
if (days > 10) //days always seems to be 0
{
throw new Exception("Over 10 days");
}
Благодаря
Что делает ToString() на пролете сказать? –
Исключение Eek, если входные значения неверны. Вы должны вернуть функцию с помощью boolean, если функция была выполнена успешно. – RvdK
@RvdK, Прошло некоторое время с тех пор, как вы написали этот комментарий, но здесь вы совершенно не правы. Вы действительно НЕ должны подбрасывать код C# с проверкой ошибки возвращаемого значения. Для этого нужны исключения. Без исключений вы не можете цеплять вызовы методов и т. Д. Если вы действительно хотели бы подчеркнуть входную валидацию здесь, Джейми должен бросить ArgumentExceptions для значений, которые неприемлемы. – JonasW