Программирование на C#. Как решить задачку?

Как в new DateTime засунуть строковое представление даты чтобы потом просто сделать AddDays(1)
string str = Console.ReadLine();
DateTime date1 = new DateTime(Console.ReadLine()); //хотелось бы чтобы было так

Я тип могу проверить на верность написание строковое значение, а вот как прибавить к этой строке день я вообще не ебу.
str = Console.ReadLine();
bool b = DateTime.TryParse(str, out DateTime date);

0
15 комментариев
Написать комментарий...
Николас Ассбергер

Ну по тому как написано задание, не знаю почему парсинг строки в DateTime, вызов .AddDays() и парсинг обратно в стрингу не считается правильным решением. Выбираешь один из форматов представления и погнали https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1

Ответить
Развернуть ветку
Sega Mega Drive 2

public DateTime GetNextDay(DateTime date)
{
// Проверяем, что дата корректна
if (date == DateTime.MinValue || date == DateTime.MaxValue)
{
throw new ArgumentException("Некорректная дата");
}

// Получаем дату следующего дня
DateTime nextDay = date.AddDays(1);

return nextDay;
}

Ответить
Развернуть ветку
Кирилл Миронов

Да, это похоже на то что было в условии. Я бы только проверку сделал такую:
if (date != DateTime.Now.Date)

Ответить
Развернуть ветку
Egor Simonov

Изменять дату в строке, прямо скажем, не самая простая задача. Используйте date из TryParse, прибавьте день, а потом переведите значение обратно в строку

Ответить
Развернуть ветку
Антон Сармин

DateTime.Parse или трайпарс

Ответить
Развернуть ветку
Moon Head

Получаешь строку, проверяешь, парсишь в дату, работаешь с ней, парсишь новую дату в строку, возвращаешь

Ответить
Развернуть ветку
Swarm
Автор

Всем спасибо
Теперь збс

Ответить
Развернуть ветку
Dmitry Danilin

Два раза парсить одно и то же? Индус?

Ответить
Развернуть ветку
Vincent Vega

Маленький совет: не стоит привыкать называть переменные чёрти как. Будет код на 1000 строк. Пойми потом, что это такое "str" или "b" и откуда они взялись. И называть переменые, как и их тип (dateTime) тоже плохо. Выгрузишь код в какой-нибудь блокнот и все. Будешь там плавать: где имя переменной, а где ее тип. А так, присоединяюсь ко всем: удачи и вперёд!))

Ответить
Развернуть ветку
Swarm
Автор

хех, через жопу конечно
щя попробую доделать

Ответить
Развернуть ветку
Swarm
Автор

теперь кайф

Ответить
Развернуть ветку
Неспешный

У тебя уже из tryparse через out вернулась date у неё adddays и вызывай

В блоке if можно return тогда else не нужен

Ответить
Развернуть ветку
Swarm
Автор

а, так можно? Спасибо

Ответить
Развернуть ветку
Balonich

Там можно вообще интересно обернуть: не создавать булевскую переменную, TryParse впихнуть как условие в if, а потом оперировать date из out.
Но и так как у тебя огонь на самом деле, поэтому красава, продолжай в том же духе.

Ответить
Развернуть ветку
wichidt

Ну если более короче то

if (DateTime.TryParse(Console.ReadLine(), out DateTime dateTime))
Console.WriteLine($"Дата {dateTime.AddDays(1)} корректна");
else
Console.WriteLine($"Дата не корректна");

Ответить
Развернуть ветку
Читать все 15 комментариев
null