Добавленное или вычитаемое значение приводит к непредставимой дате-времени.\r\nparameter name: месяцы
Привет,
Я столкнулся с ошибкой, как говорится в названии, и не могу понять, что эта ошибка означает. Может, кто-нибудь объяснит?
Исключение: "добавленное или вычитаемое значение приводит к непредставимому DateTime.\r\nParameter name: months"
Спасибо.
Что я уже пробовал:
Мои даты принимают только дату, то есть dateTimePicker.Ценность.Дата, так что я подумал, что это проблема, которую я не добавил .Дата везде, где я использую даты, но это не помогло.
DateTime twoYearsAgo = policy.startDateOfThePolicy.AddYears(-2); DateTime fiveYearsAgo = policy.startDateOfThePolicy.AddYears(-5); foreach (var driver in policy.Drivers) { if (driver.Claims.Any(claim => claim.ClaimDate.Date >= policy.startDateOfThePolicy.AddYears(-1).Date)) { policy.Premium = policy.Premium + (policy.Premium + 10); } else if(driver.Claims.Any(claim => claim.ClaimDate.Date <= twoYearsAgo.Date && claim.ClaimDate.Date >= fiveYearsAgo.Date)) { policy.Premium = policy.Premium + (policy.Premium + 10); }
Policy-это класс, который содержит переменную premium, а также список драйверов policy.Водители
Класс Водителя:
<public string Name { get; set; } public string Surname { get; set; } public int Age { get; set; } public string Occupation { get; set; } public List<Claim> Claims { get; set; } = new List<Claim>();
Класс претензий:
public class Claim { public DateTime ClaimDate { get; set; } }
Класс Политики:
public class Policy { private decimal premium = 100; public List<Driver> Drivers { get; set; } = new List<Driver>(); public DateTime startDateOfThePolicy { get; set; } public decimal Premium { get { return premium; } set { premium = value; } } }
CHill60
Мы не сможем вам помочь, если вы не опубликуете свой код
Спасибо за код. Когда вы используете отладчик и ставите точку останова в строке, которая дает исключение, каково значение в startDateOfThePolicy в это время?
Если вы не уверены в отладке, то прочтите это: Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Member 13081540
дата начала политики-01/01/0001 00: 00:00