На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 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);
}
}





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





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




О блоге
Магия закончилась: часть 2


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.