• Программинг

Нужны источники бесперебойного питания?

Источники бесперебойного питания от дизельстор

C# для начинающих. Использование метода String.Format

В библиотеке .NET очень хорошо реализована работа со строками. Такие классы как StringBuilder и String существенно облегчают жизнь простому программисту. Одной очень важной функцией класса String, является функция Format. Эта функция аналогична функции sprintf из языка C++. Суть функции заключается в том, чтобы сформировать строку из нескольких составляющих и с определенным форматированием. В качестве составляющих могут выступать типы строк, различные форматы чисел, даты и перечисления. Визуально, код, написанный с помощью метода Format, читается легче. Библиотека .NET предоставляет программисту довольно большой выбор типов форматирования. Давайте вкратце познакомимся с принципом использования метода Format, а в конце статьи я приведу сводную таблицу всех типов форматирования.

Итак, синтаксис метода Format следующий:

String.Format(строка содержащая шаблон, param[] аргумент)
param[] говорит методу, что он может принимать неограниченное количество аргументов, разделенных запятой. На примере это выглядит так:

String.Format(“{0} {1}”, “Привет”, “всем”);

Вернет строку «Привет всем». В фигурных скобках указываются индексы полей, которые передаются, начиная с нуля. «Привет» – нулевое поле, «всем» – первое поле. В самих фигурных скобках, кроме форматирования через запятую можно указывать тип или, другими словами, как форматировать данное поле. Следующий пример форматирует нулевое поле:

Console.WriteLine(String.Format("{0,10}:{1}","Привет","всем"));
Console.WriteLine(String.Format("{0,-10}:{1}", "Привет", "всем"));
1 Console.WriteLine(String.Format("{0,10}:{1}","Привет","всем"));
2 Console.WriteLine(String.Format("{0,-10}:{1}", "Привет", "всем"));
1 Console.WriteLine(String.Format("{0:c}",12.53));
2 Console.WriteLine(String.Format("{0:e}",12.53));
3 Console.WriteLine(String.Format("{0:f}", 12.53));
4 Console.WriteLine(String.Format("{0:x4}", 12));
1 Console.WriteLine(String.Format("{0:00.0000}", 12.53));
2 Console.WriteLine(String.Format("{0:(#).##}", 12.53));
3 Console.WriteLine(String.Format("{0:0,0}", 12.53));
4 Console.WriteLine(String.Format("{0:000.0}", 12.53));
5 Console.WriteLine(String.Format("{0:0,0%}", 12.53));
6 Console.WriteLine(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 12.53));
7 Console.WriteLine(String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 1245.53));