Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 58

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 320 >> Следующая

anotherString = "c:\\CSharpProjects\\Strings\\string.cs": Console.WriteLineCU" + anotherString):
Если вы уже не можете вспомнить, для чего используется каждая из управляющих последовательностей, обратитесь к табл. 2.12.
Таблица 2.12, Управляющие последовательности
Управляющие Назначение
последовательности_
V вставить одинарную кавычку в строку
V Вставить двойную кавычку в строку
\\ Вставить в строку обратный слэш. Особенно полезно при работе
с путями в файловой системе
\а Запустить системное оповещение (Alert)
\Ь Вернуться на одну позицию (Backspace)
\f Начать следующую страницу (Form feed)
\п Вставить новую строку (New line)
\г Вставить возврат каретки (carnage Return)
продолжение
126 Глава 2 • Основы языка Таблица 2.12 (продолжение)
Управляющие Назначение
последовательности
Вставить горизонтальный символ табуляции (horizontal Tab)
Вставить символ Unicode W Вставить вертикальный символ табуляции (Vertical tab)
\0 Представляет пустой символ (NULL)
Помимо управляющих посді^ш;;П(дьіюпеІ!, в С# предусмотрен также специальный префикс @ для дословного вывода строк вне зависимости от наличия в них управляющих последовательностей. Строки с этим префиксом называются «дословными* (verbatim strings). Это - очень удобное средство во многих ситуациях:
// Префикс ¦ отключает обработку управляющих последовательностей
string finalStrmg - @"\n\tString file: X:\CSnarpProjects\Strings\stnng.cs'"; Consol e .WriteLine(fі паїString);
Результаты работы сразу нескольких наших программ, использующих строки, представлены на рис. 2.23. Обратите внимание на нижнюю строчку: как можно видеть, применение префикса @ предоставляет возможность спокойно производить вывод любого количества служебных символов.
ШвШ
strObj
T)iis is another TKETTliis is a TEST
ї.чеісч progradwlnq lieofc needs "Helle Uoi>M" с :\C8hArpPre JectsnSI:r ii>gs\s t rina - ев
\n\tutri119 file I ' C:\CSheriiProject5\Sti'inas4string.cs' Pres a any key to continue
Рис. 2.23. Возможности System.String
г,
Применение System.Text.StringBuilder
При работе со строками в необходимо помнить очень важную вещь: значение строки не может быть изменено. Как и в Java, в С# строки являются неизменяемыми (і її 11 iHit;ib!o). S у ъ': fib Siri vi: предоставляет в ваше распоряжение множество методов, однако эти методы только на первый взгляд могут изменять строки. На самом деле они возвращают лишь измененную копию строки. Например, при применении метода ToDp P е г вы не изменяете сам строковый объект, а всего лишь возвращаете его копию, в которой все буквы станут прописными:
// Вносим изменения в строку? На самом деле нет... System.String strFixed = "This is how I began life";
Console.WriteLine(strFixed):
string jppertfersion = strPxed.ToijppsrO: // Возвращает "пропану»' копию
Console.WriteLine(strFired): Console.WriteLinetupperVersion):
і
Работа со строками 127
Работа с копиями копий строк может в конце концов надоесть. Но С# предлагает еще одно средство, которое позволяет изменять строки напрямую, без создания лишних копии. Это средство — класс StringBuilder, определенный в пространстве имен System. Text. Этот класс во многом напоминает CString в MFC или CCanBSTR в ATL. Все изменения, которые вы вносите в объект этого класса, немедленно в нем отражаются, что во многих ситуациях гораздо эффективнее, чем работать с множеством копий.
// Демонстрирует применение класса SmngBuildefusing System;
using System.Text; // Здесь живет StringBuilder!
class StiHKjApp {
public static int Main(string[] args) {
II Создаем объект StringBuilder и изменяем его содержимое StringBuilder myBuffer = new StringBuilderCI am a buffer"); myBuffer.Append(" that just got longer,.."): Console.WriteLine(my Buffer): return 0;
}
)
Помимо добавления класс StringBuilder допускает и другие операции, например удаление определенных символов или их замену. После того как вы добились нужного вам результата, часто бывает удобным вызвать метод ToSt ring О, чтобы перевести содержимое объекта StringBuilder в обычный тип данных String:
// Продолжаем йєкочстркооезїь применение класса StringBuilder using System;
using System.Text; Il Здесь живет StringBuilder сійїї StringApp
{ public static int Main(string[] args) {
StringBuilder myBuffer = new StringBuilderC'l am a buffer");
-
myBuffer.Append(" that just got longer..."); Console.WriteLine(myBuffer);
myBuffer.Append<"and even longer."): Console.WriteLine(myBuffer):
//Делаем все буквы прописными
string theReal IyFi па !String = myBuffer. ToSt ring () .ToUpperC):
Console.Wri teLine(theReallyFinalString):
return
]
}
Как, наверное, вы уже догадываетесь, класс Stri ngBui icier содержит множество других методов и свойств. Советуем вам познакомиться с ними самостоятельно. Код приложения Strings можно найти в подкаталоге Chapter 2.
128 Глава 2 • Основы языка С#
Перечисления С#
Часто бывает удобным создать набор значимых имен, которые будут представлять числовые значения. Представим себе, что вы создаете систему расчета заработной платы для сотрудников. Скорее всего, вам покажется более удобным вместо недружелюбных значений {0. 1. 2, 3} использовать понятные имена 0*, Manager, Grunt и Contractor. Конечно же, С#, как и C/C++, предоставляет вам возможность использовать для этой цели перечисления (enumerations). Создание перечисления для наших целей может выглядеть так:
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100