ВУЗ:
Составители:
Рубрика:
117
Рисунок 27. Сравнение символов
Анализируя эти результаты, можно понять, что в кодировке Unicode как
латиница, так и кириллица плотно упакованы. Исключение составляет буква Ё
– заглавная и малая – они выпадают из плотной кодировки. Малые буквы в
кодировке непосредственно следуют за заглавными буквами. Расстояние между
алфавитами в кодировке довольно большое – русская буква А на 975 символов
правее в кодировке, чем соответствующая буква в латинском алфавите.
8.2. Класс char[]
В языке C# определен класс Char[ ] (массив символов), и его можно
использовать для представления строк постоянной длины, как это делается в
С++. Более того, поскольку массивы в C# динамические, то расширяется класс
задач, в которых можно использовать массивы символов для представления
строк. Так что имеет смысл разобраться, насколько хорошо C# поддерживает
работу с таким представлением строк.
Прежде всего, ответим на вопрос, задает ли массив символов C# строку
С, заканчивающуюся нулем? Ответ: нет, не задает. Массив char[ ] - это обычный
массив. Более того, его нельзя инициализировать строкой символов, как это
разрешается в С++. Константа, задающая строку символов, принадлежит классу
String, а в C# не определены взаимные преобразования между классами String и
Char[ ], даже явные. У класса String есть, правда, динамический метод
ToCharArray, задающий подобное преобразование. Возможно также
посимвольно передать содержимое переменной string в массив символов.
Приведем пример:
public void TestCharArAndString()
{
//массивы символов
//char[ ] strM1 = "Hello, World!";
//ошибка: нет преобразования класса string в класс char[ ]
string hello = "Здравствуй, Мир!";
char[] strM1 = hello.ToCharArray();
PrintCharAr("strM1", strM1);
//копирование подстроки
char[ ] World = new char[3];
Array.Copy(strM1, 12, World, 0, 3);
PrintCharAr("World", World);
Console.WriteLine(CharArrayToString(World));
} //TestCharArAndString
Закомментированные операторы в начале этой процедуры показывают,
что прямое присваивание строки массиву символов недопустимо. Однако метод
ToCharArray, которым обладают строки, позволяет легко преодолеть эту
трудность. Еще одну возможность преобразования строки в массив символов
предоставляет статический метод Copy класса Array.
Страницы
- « первая
- ‹ предыдущая
- …
- 111
- 112
- 113
- 114
- 115
- …
- следующая ›
- последняя »