Приветствую всех, сегодня читая книгу, увидел интересный пример задачи, в котором требовалось вычислить остаток дней до дня рождения. При запуске программы пользователь должен был ввести дату своего дня рождения. А та в свою очередь после вычислений выводила информацию о том сколько дней осталось до него. Решения данного задания не сколько, но на ум пришло только эти два. Их реализацию вам и покажу.
    static void Main()
        {
            DateTime now = DateTime.Now;
            DateTime birthday;
            TimeSpan wait;
            Console.WriteLine("Введите дату вашего рождения в формате 'гггг, мм, дд'");
            birthday = Convert.ToDateTime(Console.ReadLine());
            DateTime thisYear = new DateTime(now.Year, birthday.Month, birthday.Day);
            if (thisYear < now)
            {
                thisYear = new DateTime(now.Year + 1, birthday.Month, birthday.Day);
                wait = thisYear - now;
            }
            else
            {
                wait = thisYear - now;
            }   
            Console.WriteLine("До дня рождения осталось {0} дней", wait.Days);
            // Delay.
            Console.ReadKey();
        }
Но с первого взгляда сложно разобраться в примере выше, но меньше вопросов останется если вы взглянете на вариант ниже:
   static void Main(string[] args)
        {
            Console.WriteLine("Введите число дня рождения");
            int day = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите месяц дня рождения");
            int month = int.Parse(Console.ReadLine());
            int count = (new DateTime(DateTime.Now.Year, month, day) - DateTime.Now).Days;
            Console.WriteLine("До дня рождения осталось {0}", count);
            Console.ReadKey();
        }
