Встает вопрос, а что если конвертирование строки в в переменную типа DateTime будет неудачным, а мы все равно попытаемся воспользоваться выходным значением?
У переменной будет значение по умолчанию.
Мне кажется это не совсем правда. В общем случае там будет значение, которым метод инициализировал переменную. И совсем не обязательно это будет дефолтное значение. Согласно спецификации C# использование ключевого слова out с параметром метода обязывает метод инициализировать значение переменной до возвращения значения, но не накладывает никаких ограничений на само значение для инициализации.
Да, крайне странно! Совпадение?!..
Похоже Вы изобрели https://miniprofiler.com/
Мне кажется это не совсем правда. В общем случае там будет значение, которым метод инициализировал переменную. И совсем не обязательно это будет дефолтное значение. Согласно спецификации C# использование ключевого слова out с параметром метода обязывает метод инициализировать значение переменной до возвращения значения, но не накладывает никаких ограничений на само значение для инициализации.