Console.WriteLine(File.ReadAllText("12daysxmas.txt"));
(Хорошая практика - хранить строковые константы отдельно от кода, чтобы их можно было легко перевести.)
Также вот моя дань о предстоящем ключевом слове dynamic
в C # 4:
string lyric = "On day {0} of Christmas a dynamic gave to me {1} dynamics.";
int total = 0;
for (int day = 1; day <= 12; day++)
{
total += day;
Console.WriteLine(string.Format(lyric, day, total));
}
Console.WriteLine("I wonder what all these dynamics are? I guess I'll find out at runtime.");
Чтобы указать, что это описатель настраиваемого формата (в отличие от описателя стандартного формата), он должен состоять из двух символов. Это можно сделать, добавив пробел (который будет отображаться в выходных данных) или поставив знак процента перед отдельной буквой, например:
string result = myDate.ToString("%d");
Вместо использования строк форматирования строк, как насчет использования свойства Day
DateTime myDate = new DateTime(2009,6,4)
int result = myDate.Day;
Или, если вам действительно нужен результат в формате строки
string result = myDate.Day.ToString();
Если вы хотите получить конкретную часть даты объекта даты, а не форматированного представления даты, я предпочитаю использовать свойства (День, Месяц, Год, DayOfWeek и т. д.). Это немного упрощает чтение кода (особенно если кто-то другой читает / поддерживает его, что не запомнил различные коды форматирования)