Урок 18. Создание строк с помощью String.Format C#


Все уроки по C# расположены здесь.

В этой статье описывается метод Format класса String, который позволяет создавать строки, содержащие текст и числа.

Функция Format - это статический метод класса String. Он позволяет генерировать строки, которые содержат текстовую информацию и вставленные данные. Это идеально для вывода информации пользователю. Метод Format требует нескольких аргументов. Первый - строка шаблона. Шаблон содержит текст, необходимый в последней строке, и один или несколько заполнителей, которые будут заменены другими значениями. Остальные параметры - это переменные или литералы для вставки в шаблон.

Примечание: переменные или литералы могут быть любого типа данных, включая числовые данные, строки и объекты. Для этой статьи мы будем использовать числовые данные.

Шаблоны и заполнители

Как сказано выше, строка шаблона должна содержать заполнители, определяющие место вставки значений. Каждый заполнитель состоит из числа в фигурных скобках {}. Число - это индекс, который ссылается на один из других параметров, передаваемых методу Format. Индекс первого параметра, не являющегося шаблоном, равен нулю. Пример ниже может проиллюстрировать это.

using System;

class Program
{
static void Main(){
string output;
int selection = 5;
output = string.Format("Вы выбрали {0} предмет из списка.", selection);
Console.WriteLine(output);     // выведет: Вы выбрали 5 предмет из списка
}
}
В примере строка шаблона содержит один заполнитель. Число между фигурными скобками равно нулю, что означает, что первый параметр после шаблона должен использоваться в качестве замены для заполнителя. В этом случае значение переменной "selection". Однако метод Format не ограничивается включением только одного параметра после шаблона. В следующем примере показаны два заполнителя.

using System;

class Program
{
static void Main(){
string output;
int selection = 5;
int count = 10;
output = string.Format("Вы выбрали {0} предмет из {1}.", selection, count);
Console.WriteLine(output);     // Выведет "Вы выбрали 5 предмет из 10."    
}
}
Числовое форматирование

При вставке чисел в строки с помощью String.Format, числа могут быть отформатированы путем добавления спецификаторов формата в пределах местозаполнителей. Доступные спецификаторы формата такие же, как для метода ToString числовых типов данных.

Чтобы включить описатель формата, после номера индекса-заполнителя вставляется двоеточие (:). Затем спецификатор добавляется перед закрывающей скобкой. В следующем примере показан один и тот же параметр, используемый двумя заполнителями. Один использует форматирование, другой - нет.

using System;

class Program
{
static void Main(){
string output;
int value = 100;
output = string.Format("decimal {0} = {0:X} hex.", value);
Console.WriteLine(output); // Выведет decimal 100 = 64 hex.
}
}
Включение фигурных скобок в шаблоны

В некоторых случаях может потребоваться, чтобы символы фигурных скобок в строке шаблона были включены в выходную строку. Если вы это сделаете, добавьте два символа скобки, где вы хотите один в результате.

using System;

class Program
{
static void Main(){
string output;
int value = 100;
output = string.Format("{{decimal {0} = {0:X} hex.}}", value);
Console.WriteLine(output);     // Выведет {decimal 100 = 64 hex.}
}
}
Метод Console.WriteLine

В начале урока метод Console.WriteLine был использован для вывода текста. Console.WriteLine использует те же функции, что и string.Format при генерации выводимой строки. Приведенный выше пример можно упростить следующим образом

using System;

class Program
{
static void Main(){
int value = 100;
Console.WriteLine("{{decimal {0} = {0:X} hex.}}", value);
}
}
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, Уроки по си шарп, си шарп, string




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Почему мой интернет такой медленный?
Новости блога
Как увеличить скорость мобильного интернета