Спецификатор |
Формат |
Имя шаблона |
D |
MM/dd/yyyy |
ShortDataPattern |
D |
dddd,MMMM dd,yyyy |
LongDatePattern |
F |
dddd,MMMM dd,yyyy HH:mm |
Full date and time (long date and short time) |
F |
dddd,MMMM dd,yyyy HH:mm:ss |
FullDateTimePattern (long date and long time) |
G |
MM/dd/yyyy HH:mm |
General (short date and short time) |
G |
MM/dd/yyyy HH:mm:ss |
General (short date and long time) |
M,M |
MMMM dd |
MonthDayPattern |
r,R |
ddd,dd MMM yyyy,HH':'mm':'ss 'GMT' |
RFC1123Pattern |
S |
yyyy-MM-dd HH:mm:ss |
SortableDateTimePattern (conforms to ISO 8601) using local time |
T |
HH:mm |
ShortTimePattern |
T |
HH:mm:ss |
LongTimePattern |
U |
yyyy-MM-dd HH:mm:ss |
UniversalSortableDateTimePattern (conforms to ISO 8601) using universal time |
U |
dddd,MMMM dd,yyyy,HH:mm:ss |
UniversalSortableDateTimePattern |
y,Y |
MMMM,yyyy |
YearMonthPattern |
DateTime dt = DateTime.Now;
Console.WriteLine ("{0}\nDate = {1}, Time = {2}\n", dt, dt.Date, dt.TimeOfDay);
DateTimeFormatInfo info = DateTimeFormatInfo.InvariantInfo;
Console.WriteLine (
"\n\tD: " + dt.ToString ("D", info) +
"\n\tf: " + dt.ToString ("f", info) +
"\n\tF: " + dt.ToString ("F", info) +
"\n\tg: " + dt.ToString ("g", info) +
"\n\tG: " + dt.ToString ("G", info) +
"\n\tm: " + dt.ToString ("m", info) +
"\n\tr: " + dt.ToString ("r", info) +
"\n\ts: " + dt.ToString ("s", info) +
"\n\tt: " + dt.ToString ("t", info) +
"\n\tT: " + dt.ToString ("T", info) +
"\n\tu: " + dt.ToString ("u", info) +
"\n\tU: " + dt.ToString ("U", info) +
"\n\td: " + dt.ToString ("d", info) +
"\n\ty: " + dt.ToString ("y", info) +
"\n\tdd-MMM-yy: " + dt.ToString ("dd-MMM-yy", info) + "\n\n");
Console.Write ("\n[I]nvariant or [C]urrent Info: ");
info = Console.Read() == 'i' ?
DateTimeFormatInfo.InvariantInfo : DateTimeFormatInfo.CurrentInfo;
Console.WriteLine (dt.ToString (info));
Убедитесь на этом примере, а также с помощью документации MSDN, что Console.Read сильно отличается от Console.ReadLine.
Методом Ctrl+Drag&Drop скопируйте файл TestTypes в проект MyConsole и переименуйте его в TestSwap. Замените его содержимое так, чтобы он вызвал статический метод (Swap), который обменивает местами значения двух переменных типа decimal. Добавьте новый статический метод Swap в пространство класса Program (внутри файла TestSwap.cs).
Для обмена значенями вам придется передавать переменные по ссылке. Это делается с помощью ключевого слова ref (используйте его в двух местах). Проверьте работу двух новых методов, добавив вызов TestSwap в сложную схему нашего каркаса. Для этого измените Main и Menu.
Статический метод — это аналог глобальной функции. Метод Main обязан быть static для того, чтобы Windows смогла его запустить. Вы должны различать три способа запуска методов:
· ClassName.Method(); Так запускают статический метод класса с именем ClassName.
· obj.Method(); Так запускают обычный метод другого класса (из любого метода класса).
· obj.Method(); Так запускают обычный метод класса (из статического метода своего же класса).
· Method(); Так запускают статический метод (из любого метода своего же класса).
· Method(); Так запускают обычный метод своего же класса (из обычного метода класса).
Как видите, в двух случаях должен быть предварительно создан объект obj, например,
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.