В библиотеке .NET очень хорошо реализована работа со строками. Такие классы как StringBuilder и String, намного облегчают жизнь разработчикам. Рассмотрим класс «String» и его очень важный метод Format. Метод сформировывает строку из нескольких составляющих, с определенным форматированием. В качестве составляющих могут выступать типы строк, различные форматы чисел, даты и перечисления. Визуально, код, написанный с помощью метода Format, читается намного легче. Библиотека .NET предоставляет разработчику довольно большой выбор типов форматирования.
Синтаксис метода Format следующий:
String.Format(строка содержащая шаблон, param[] аргументparam[]) может принимать неограниченное количество аргументов, разделенных запятой. На примере это выглядит так:
String.Format(“{0}.{1}.{2}”, “www ”, “CSharpCoderR”,”com”);
Результатом выполнения данного кода будет строка вида: www.CSharpCoderR.com. В фигурных скобках указываются индексы полей, которые передаются, начиная с нуля. «www» — нулевое поле, «CsharpCoderR» — первое поле, «com» — второе поле. В самих фигурных скобках, кроме форматирования через запятую можно указывать тип или, другими словами, как форматировать данное поле. Смотрите примеры ниже:
String.Format("{0,10}:{1}","Создать файл ?","да"); //Создать файл ?:да
String.Format("{0,-10}:{1}", "Создать файл ?","да"); // Создать файл ? :да
String.Format("{0:00000}", 15); // "00015"
String.Format("{0:00000}", -15); // "-00015"
String.Format("{0,5}", 15); // " 15"
String.Format("{0,-5}", 15); // "15 "
String.Format("{0,5:000}", 15); // " 015"
String.Format("{0,-5:000}", 15); // "015 "
String.Format("{0:#;minus #}", 15); // "15"
String.Format("{0:#;minus #}", -15); // "minus 15"
String.Format("{0:#;minus #;zero}", 0); // "zero"
String.Format("{0:+### ### ### ###}", 447900
); // "+447 900
"
String.Format("{0:##-####-####}", 8958712551); // "89-5871-2551"
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"
String.Format("{0:00.0}", 123.4567); // "123.5"
String.Format("{0:00.0}", 23.4567); // "23.5"
String.Format("{0:00.0}", 3.4567); // "03.5"
String.Format("{0:00.0}", -3.4567); // "-03.5"
String.Format("{0:0,0.0}", 12345.67); // "12,345.7"
String.Format("{0:0,0}", 12345.67); // "12,346"
String.Format("{0:0.0}", 0.0); // "0.0"
String.Format("{0:0.#}", 0.0); // "0"
String.Format("{0:#.0}", 0.0); // ".0"
String.Format("{0:#.#}", 0.0); // ""
String.Format("{0,10:0.0}", 123.4567); // " 123.5"
String.Format("{0,-10:0.0}", 123.4567); // "123.5 "
String.Format("{0,10:0.0}", -123.4567); // " -123.5"
String.Format("{0,-10:0.0}", -123.4567); // "-123.5 "
String.Format("{0:0.00;minus 0.00;zero}", 123.4567); // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567); // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0); // "zero"
Работа с датой:
DateTime dt = new DateTime(2013, 11, 8, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "3 13 013 2023" год
String.Format("{0:M MM MMM MMMM}", dt); // "11 11 Mar March" месяц
String.Format("{0:d dd ddd dddd}", dt); // "8 08 Sun Sunday" день
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" время 12/24
String.Format("{0:m mm}", dt); // "5 05" минуты
String.Format("{0:s ss}", dt); // "7 07" секунды
String.Format("{0:f ff fff ffff}", dt); // "1 12
0" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12
" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "+6 +06 +06:00" временная зона
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" -english(en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" – german
String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"
String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
0.00 (0%) 0 votes









