Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Строковые литералы C# Полное руководство Герберт Шилдт

Строковые литералы C# Полное руководство Герберт Шилдт

В C# поддерживается еще один тип литералов — строковый. Строковый литерал представляет собой набор символов, заключенных в двойные кавычки. Например следующий фрагмент кода:
"это тест"
представляет собой текстовую строку. Образцы подобных строк не раз встречались в приведенных выше примерах программ.
Помимо обычных символов, строковый литерал может содержать одну или несколько управляющих последовательностей символов, о которых речь шла выше. Рассмотрим для примера программу, в которой используются управляющие последовательности \п и \t.

// Продемонстрировать применение управляющих
// последовательностей символов в строковых литералах.
using System;
class StrDemo { static void Main() {
Console.WriteLine (
"Первая строка\пВторая строка\пТретья строка");
Console.WriteLine("OflHH\tflBa\tTpn");
Console.WriteLine ("Четыре\Шять\Шесть") ;
// Вставить кавычки.
Console.WriteLine("\"3ачем?\", спросил он.");
}
}

Результат выполнения этой программы приведен ниже.
Первая строка
Вторая строка
Третья строка 
Один     Два     Три
Четыре  Пять    Шесть
"Зачем?", спросил он.
В приведенном выше примере программы обратите внимание на то, что для перехода на новую строку используется управляющая последовательность \п. Для вывода нескольких строк совсем не обязательно вызывать метод WriteLine () несколько раз — достаточно вставить управляющую последовательность \п в тех местах удлиненной текстовой строки (или строкового литерала), где должен происходить переход на новую строку. Обратите также внимание на то, как в текстовой строке формируется знак вопроса.
Помимо описанной выше формы строкового литерала, можно также указать буквальный строковый литерал. Такой литерал начинается с символа @, после которого следует строка в кавычках. Содержимое строки в кавычках воспринимается без изменений и может быть расширено до двух и более строк. Это означает, что в буквальный строковый литерал можно включить символы новой строки, табуляции и прочие, не прибегая к управляющим последовательностям. Единственное исключение составляют двойные кавычки ("), для указания которых необходимо использовать две двойные кавычки подряд (""). В приведенном ниже примере программы демонстрируется применение буквальных строковых литералов.

// Продемонстрировать применение буквальных // строковых литералов.
using System;
class Verbatim { static void Main() {
Console.WriteLine (@"Это буквальный строковый литерал, занимающий несколько строк.
Console.WriteLine(@"А это вывод с табуляцией:
1  2  3  4
5  6  7  8
Console.WriteLine(@"Отзыв программиста: ""Мне нравится С#.""");
}
}

Результат выполнения этой программы приведен ниже.
Это буквальный строковый литерал, занимающий несколько строк.
А это вывод с табуляцией:
1  2  3  4
5  6  7  8
Отзыв программиста: "Мне нравится С#."
Следует особо подчеркнуть, что буквальные строковые литералы выводятся именно так, как они введены в приведенном выше примере программы.
Преимущество буквальных строковых литералов заключается в том, что они позволяют указать в программе выводимый результат именно так, как он должен выглядеть на экране. Но если выводится несколько строк, то переход на новую строку может нарушить порядок набора исходного текста программы с отступами. Именно по этой причине в примерах программ, приведенных в этой книге, применение буквальных строковых литералов ограничено. Тем не менее они приносят немало замечательных выгод во многих случаях, когда требуется форматирование выводимых результатов.
И последнее замечание: не путайте строки с символами. Символьный литерал, например 1X1, обозначает одиночную букву типа char. А строка, состоящая из одного символа, например "X", по-прежнему остается текстовой строкой.