Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Стрічкові константи






Без констант не обійтися. В C# існують два види стрічкових констант:

· звичайні константи, які представляють рядок символів, укладені в лапки;

· @-константи, задані звичайною константою з попереднім знаком @.

У звичайних константах деякі символи інтерпретуються особливим чином. Зв'язано це насамперед з тим, що необхідно вміти задавати в рядку не друкують символи, що, такі, як, наприклад, символ табуляції. Виникає необхідність задавати символи їхнім кодом - у вигляді escape-послідовностей. Для всіх цих цілей використається комбінація символів, що починається символом " \" - зворотна коса риса. Так, пари символів: " \n", " \t", " \\", " \" " задають відповідно символ переходу на новий рядок, символ табуляції, сам символ зворотної косої риски, символ лапок, що вставляє в рядок, але не сигналізує про її закінчення. Комбінація " \xNNNN" задає символ, обумовлений шістнадцятирічним кодом NNNN. Хоча таке рішення виникаючих проблем зовсім природно, іноді виникають незручності: наприклад, при завданні констант, що визначають шлях до файлу, доводиться щораз подвоювати символ зворотної косої риски. Це одна із причин, по якій з'явилися @-константи.

В @-константах всі символи трактуються в повній відповідності з їхнім зображенням. Тому шлях до файлу краще задавати @-константою. Єдина проблема в таких випадках: як задати символ лапок, щоб він не сприймався як кінець самої константи. Рішенням є подвоєння символу. От відповідні приклади:

//Два види константs1= " \x50"; s2=@" \x50" " "; b1= (s1==s2); Console.WriteLine(" s1={0}, s2={1}, b1={2}", s1, s2, b1); s1 = " c: \\c#book\\ch5\\chapter5.doc"; s2 = @" c: \c#book\ch5\chapter5.doc"; b1= (s1==s2); Console.WriteLine(" s1={0}, s2={1}, b1={2}", s1, s2, b1); s1= " \" A\" "; s2=@" " " A" " "; b1= (s1==s2); Console.WriteLine(" s1={0}, s2={1}, b1={2}", s1, s2, b1);

Гляньте на результати роботи наведених фрагментів коду, отримані при виклику процедур TestDeclStrings й TestOpers.

Рис. 15.4 Оголошення, константи й операції над об'єктами string






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.