Содержание

Слайд 2

Козьминых Н.М.

Козьминых Н.М.

Слайд 3

Символы (char) Козьминых Н.М. 16-разрядные значения без знака в пределах от

Символы (char)

Козьминых Н.М.

16-разрядные значения без знака в пределах от 0 до

65 535 (уникод (Unicode))
char ch;
ch = 'Z';
Управляющие последовательности символов
Слайд 4

Коды символов Юникод (таблица) http://ir2.ru/charcod5.htm Козьминых Н.М.

Коды символов Юникод (таблица) http://ir2.ru/charcod5.htm

Козьминых Н.М.

Слайд 5

Строки (string) Козьминых Н.М. Строка - набор символов, заключенный в двойные

Строки (string)

Козьминых Н.М.

Строка - набор символов, заключенный в двойные кавычки
Строки являются

объектами, относятся к ссылочным типам
Объявление:
1) string str = "Пример строки";
2) char[] charArray = {'e', 'x', 'a', 'm', 'p', 'l', 'e'};
string str = new string(charArray);
В System.String предоставляется набор методов для определения длины символьных данных, поиска подстроки в текущей строке, преобразования символов из верхнего регистра в нижний и наоборот, и т.д.
Слайд 6

Методы работы со строками Козьминых Н.М.

Методы работы со строками

Козьминых Н.М.

Слайд 7

Методы работы со строками Козьминых Н.М.

Методы работы со строками

Козьминых Н.М.

Слайд 8

Пример Козьминых Н.М. // Сравним первые две строки string s1 =

Пример

Козьминых Н.М.

// Сравним первые две строки
string s1 = "это строка";
string s2

= "это текст, а это строка";
if (String.CompareOrdinal(s1, s2) != 0)
listBox9.Items.Add("Строки s1 и s2 не равны");
if (String.Compare(s1, 0, s2, 13, 10, true) == 0)
listBox9.Items.Add("При этом в них есть одинаковый текст");
// Конкатенация строк
listBox9.Items.Add(String.Concat("\n" + "Один, два ", "три, четыре"));
// Поиск в строке - Первое вхождение подстроки
if (s2.IndexOf("это") != -1)
listBox9.Items.Add("Слово \"это\" найдено в строке, оно" +
"находится на: " + s1.IndexOf("это") + " позиции");
Слайд 9

Пример Козьминых Н.М. // Последнее вхождение подстроки if (s2.LastIndexOf("это") != -1)

Пример

Козьминых Н.М.

// Последнее вхождение подстроки
if (s2.LastIndexOf("это") != -1)
listBox9.Items.Add("Последнее вхождение слова

\"это\" находится"
+ " на " + s2.LastIndexOf("это") + " позиции");
// Поиск из массива символов
char[] myCh = { 'Ы', 'х', 'т' };
if (s2.IndexOfAny(myCh) != -1)
listBox9.Items.Add("Один из символов из массива ch " +
" найден в текущей строке на позиции " + s2.IndexOfAny(myCh));
// Определяем начинается ли строка с заданной подстроки
if (s2.StartsWith("это текст") == true)
listBox9.Items.Add("Подстрока найдена!");
// Определяем содержится ли в строке подстрока
string myOS = Environment.OSVersion.ToString();
if (myOS.Contains("NT 6.1"))
listBox9.Items.Add("Ваша операционная система Windows 7");
Слайд 10

Класс StringBuilder Козьминых Н.М. Для строки класса String выделяется ровно столько

Класс StringBuilder

Козьминых Н.М.

Для строки класса String выделяется ровно столько памяти, сколько

необходимо для ее хранения
Класс StringBuilder имеет два главных свойства:
Length, показывающее длину строки, содержащуюся в объекте в данный момент
Capacity, указывающее максимальную длину строки, которая может поместиться в выделенную для объекта память
Класс StringBuilder:
выделяет больше памяти, чем нужно в данный момент
модификация строки происходит внутри блока памяти – эффективно для добавления подстрок и замену символов
имеет свойство удваивать свою емкость, когда происходит переполнение, а новое значение емкости не установлено явно
Слайд 11

Методы класса StringBuilder Козьминых Н.М.

Методы класса StringBuilder

Козьминых Н.М.

Слайд 12

Пример Козьминых Н.М. StringBuilder str = new StringBuilder("пример класса"); listBox9.Items.Add(str.ToString()); str.Append("

Пример

Козьминых Н.М.

StringBuilder str = new StringBuilder("пример класса");
listBox9.Items.Add(str.ToString());
str.Append(" - добавляемый текст");
listBox9.Items.Add(str.ToString());
Random ran

= new Random();
for (int i = 'в'; i >= 'a'; i--)
str = str.Replace((char)i, (char)(ran.Next(48,58)));
listBox9.Items.Add(str.ToString());
for(int i = 48; i < 58; i++)
listBox9.Items.Add((char)i);
Слайд 13

Структура Char Козьминых Н.М. Представляет собой символ кода UTF-16

Структура Char

Козьминых Н.М.

Представляет собой символ кода UTF-16

Слайд 14

Пример Козьминых Н.М. // все цифры переставить в начало string ss

Пример

Козьминых Н.М.

// все цифры переставить в начало
string ss =

"ad2e57b6", temp;
int kol = 0;
for(int i = 0; i < ss.Length; i++){
if (Char.IsNumber(ss, i)) {
temp = ss.Substring(i, 1);
ss = ss.Remove(i, 1);
ss = ss.Insert(kol, temp);
kol++;
}
}
textBox1.Text = ss;
Слайд 15

Пример Козьминых Н.М. // удалить слова, длина которых равна заданному значению

Пример

Козьминых Н.М.

// удалить слова, длина которых равна заданному значению
int z

= 3;
string ss = "asd tg dfgh yui hj erf";
string[] arr = ss.Split(' ');
StringBuilder res = new StringBuilder();
foreach(string item in arr){
if (item.Length != z)
res.Append(item).Append(' ');
}
textBox1.Text = res.ToString();