SlideShare a Scribd company logo
1 of 32
Строки и класс System.String
1
 Строка является ссылочным типом;
 Строка является неизменяемой
 Строка может содержать значение null
2
Создание строк
3
4
Операции для строк
 присваивание (=);
 проверка на равенство (==);
 проверка на неравенство (!=);
 обращение по индексу ([]);
 сцепление (конкатенация) строк (+).
Основные методы строк
5
Сравнение строк
6
Compare/CompareOrdinal
Статический метод, сравнивает строку strA со
строкой strB возвращает:
 Больше нуля, если строка strA больше строки
strB;
 Меньше нуля, если строка strA меньше строки
strB;
 Нуль, если строки strA и strB равны.
Делает то же, что и метод Compare(), но без учета
локальных установок
7
CompareTo
Сравнивает данный экземпляр с заданным
объектом String
 Больше нуля, если строка strA больше строки
strB;
 Меньше нуля, если строка strA меньше строки
strB;
 Нуль, если строки strA и strB равны.
8
Конкатенация (соединение) строк
9
Concat
Комбинирует отдельные экземпляры строк в одну
строку (конкатенация).
StartsWith/EndsWith
 Возвращает логическое значение true, если
вызывающая строка начинается с подстроки
value. В противном случае возвращается false.
 Возвращает логическое значение true, если
вызывающая строка оканчивается подстрокой
value. В противном случае возвращает false.
10
Contains
Метод, который позволяет определить, содержится
ли в строке определенная подстрока.
Поиск в строке
IndexOf/LastIndexOf
 Находит первое вхождение заданной подстроки
или символа в строке. Если искомый символ или
подстрока не обнаружены, то возвращается
значение -1.
 То же, что IndexOf, но находит последнее
вхождение символа или подстроки, а не первое
11
Split
Метод, возвращающий массив string с
присутствующими в данном экземпляре
подстроками внутри, которые отделяются друг от
друга элементами из указанного массива char или
string
12
Join
Строит новую строку, комбинируя содержимое
массива строк
Разделение и соединение строк
Заполнение и обрезка строк
13
Trim
 Метод, который позволяет удалять все
вхождения определенного набора символов с
начала и конца текущей строки.
Insert/Remove/Replace
 Используется для вставки одной строки в
другую, где value обозначает строку,
вставляемую в вызывающую строку по индексу
 Используется для удаления части строки.
 Используется для замены части строки.
14
Вставка, удаление и замена строк
ToUpper/ToLower
 Делает заглавными все буквы в вызывающей
строке.
 Делает строчными все буквы в вызывающей
строке
15
Смена регистра
Substring
 В первой форме метода Substring() подстрока
извлекается, начиная с места, обозначаемого
параметром startIndex, и до конца вызывающей
строки.
 А во второй форме данного метода извлекается
подстрока, состоящая из количества символов,
определяемых параметром length, начиная с
места, обозначаемого параметром startIndex.
16
Получение подстроки из строки
17
Спецификаторы формата для строк
C или c Вывод значений в денежном (currency) формате.
D или d Вывод целых значений.
E или e Вывод значений в экспоненциальном формате, то есть в виде
d.ddd…E+ddd или d.ddd…e+ddd.
F или f Вывод значений с фиксированной точностью.
G или g Формат общего вида. Вывод значений с фиксированной
точностью или в экспоненциальном формате, в зависимости
от того, какой формат требует меньшего количества позиций.
N или n Вывод значений в формате d,ddd,ddd.ddd. После
спецификации можно задать целое число, определяющее
длину дробной части
P или p Вывод числа в процентном формате
R или r Отмена округления числа при преобразовании в строку.
Гарантирует, что при обратном преобразовании в значение
того же типа получится то же самое
X или x Вывод значений в шестнадцатеричном формате.
Специальный символ Формат Описание
c/C Денежная единица
Указывает количество
десятичных знаков
d/D Целые числа
Указывает минимальное
количество цифр. При
необходимости
добавляются нули
e/E
Экспоненциальные
числа
Указывает количество
десятичных знаков
f/F
Числа с фиксированной
точкой
Указывает количество
десятичных знаков
g/G Форматы e/E и g/G
Использует более
короткий формат из
двух: f/F и g/G
n/N
Числа с фиксированной
точкой с отделением
групп разрядов
Указывает количество
десятичных знаков
p/P Проценты
Умножает число на 100
и выводит со знаком
процентов. Указывает
количество десятичных
знаков
r/R
Формат кругового
преобразования. Только
фиксированная точка
Форматирует число в
строку таким образом,
что его можно обратно
преобразовать без
потерь точности
x/X
Шестнадцатеричные
числа
Указывает минимальное
количество цифр. При
необходимости
добавляются нули
18
19
Специальный символ Значение
0 Цифра или ноль
# Цифра
. Разделитель дроби
, Разделитель тысяч
% Процент
e Экспонента
;
Определяет разделы, которые
описывают форматы для
положительных, отрицательных
чисел и нуля

Экранирование специальных
символов. Позволяет вставлять
спец-символы как текст
20
Console.WriteLine("{0:0000.00}", 1024.32); // "1024,32"
Console.WriteLine("{0:00000.000}", 1024.32); // "01024,320"
Console.WriteLine("{0:####.###}", 1024.32); // "1024,32"
Console.WriteLine("{0:####.#}", 1024.32); // "1024,3"
Console.WriteLine("{0:#,###.##}", 1024.32); // "1 024,32"
Console.WriteLine("{0:##%}", 0.32); // "32%"
Console.WriteLine("{0:<####.###>;[####.###];ноль}",
1024.32); // "<1024,32>"
Console.WriteLine("{0:<####.###>;[####.###];ноль}", -
1024.32); // "[1024,32]"
Console.WriteLine("{0:<####.###>;[####.###];ноль}", 0);
// "ноль"
 0:00000 - 00123
 0:0.00 - 1.20
 0:00.00 - 01.20
 1.2 - 0:#.## - 1.2
 123 - 0:##### - 123
 123456 - 0:[##-##-##] - [12-34-56]
 1234567890 - 0:# - 1234567890
0:(###) ###-####} - (123) 456-7890
1234567890 - 0:#,# 1,234,567,890
 0:#,##0,, - 1,235
 0:dddd MMMM -
21
Специальный символ Формат Пример
d Короткая дата 30.06.2014
D Длинная дата 30 июня 2014 г.
t Короткое время 22:30
T Длинное время 22:30:10
f
Длинная дата/короткое
время
30 июня 2014 г. 22:30
F
Длинная дата/длинное
время
30 июня 2014 г.
22:30:10
g
Короткая дата/короткое
время
30.06.2014 22:30
G
Короткая дата/длинное
время
30.06.2014 22:30:10
M/m Месяц и день июня 30
O/o Обратный
2014-06-
30T22:30:10.0000000
R/r RFC1123
Mon, 30 Jun 2014
22:30:10 GMT
s Для сортировки 2014-06-30T22:30:10
u
Локальное, в
универсальном формате
2014-06-30 22:30:10Z
U GMT
30 июня 2014 г.
19:30:10
Y Год и месяц Июнь 2014
22
 Console.WriteLine("{0:d}", DateTime.Now); //
"30.06.2014"
 Console.WriteLine("{0:D}", DateTime.Now); // "30
июня 2014 р."
 Console.WriteLine("{0:t}", DateTime.Now); //
"2:57"
 Console.WriteLine("{0:T}", DateTime.Now); //
"2:57:53"
 Console.WriteLine("{0:U}", DateTime.Now); // "29
июня 2014 р. 23:57:53"
 Console.WriteLine("{0:Y}", DateTime.Now); //
"Июнь 2014 р."
23
©Павловская Т.А. (НИУ ИТМО) 24
Примеры пользовательских шаблонов
Число Шаблон Представление
числа
1,243 00.00 01,24
1,243 #.## 1,24
0,1 00.00 00,10
0,1 #.## ,1
Строки типа StringBuilder
25
26
При создании экземпляра обязательно использовать
операцию new и конструктор, например:
 StringBuilder sb = new StringBuilder("Привет мир");
Класс StringBuilder имеет два главных
свойства
Console.WriteLine("Длина строки: {0}", sb.Length);
Console.WriteLine("Емкость строки:{0}",sb.Capacity);
Методы класса StringBuilder
27
Append
 Добавляет строку к текущей строке
28
AppendFormat
 Добавляет строку, сформированную в
соответствии со спецификатором формата
Insert
 Вставляет подстроку в строку
Remove
 Удаляет символ из текущей строки
29
Replace
 Заменяет все вхождения символа другим
символом или вхождения подстроки другой
подстрокой
ToString
 Возвращает текущую строку в виде объекта
System.String
Когда надо использовать класс String,
а когда StringBulder?
30
класс String в следующих случаях
31
 При небольшом количестве операций и
изменений над строками
 При выполнении фиксированного количества
операций объединения. В этом случае
компилятор может объединить все операции
объединения в одну
 Когда надо выполнять масштабные операции
поиска при построении строки, например
IndexOf. Класс StringBuilder не имеет подобных
методов
класс StringBuilder в следующих случаях
32
 При неизвестном количестве операций и
изменений над строками во время выполнения
программы
 Когда предполагается, что приложению придется
сделать множество подобных операций

More Related Content

Similar to модуль 03 строки

строковые величины
строковые величиныстроковые величины
строковые величиныmetodkopilka
 
ACCESS свойства полей таблиц
ACCESS свойства полей таблицACCESS свойства полей таблиц
ACCESS свойства полей таблицTatjana Amerhanova
 
Дополнительные возможности Javascript
Дополнительные возможности JavascriptДополнительные возможности Javascript
Дополнительные возможности JavascriptDenis Latushkin
 
Как за час сделать недельную работу
Как за час сделать недельную работуКак за час сделать недельную работу
Как за час сделать недельную работуcorehard_by
 
scanf(). Операторы ветвления. Тернарный оператор. switch
scanf(). Операторы ветвления. Тернарный оператор. switchscanf(). Операторы ветвления. Тернарный оператор. switch
scanf(). Операторы ветвления. Тернарный оператор. switchIhor Porotikov
 
Classes: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilderClasses: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilderAlexey Bovanenko
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклыSergey Nemchinsky
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularitiesmcroitor
 
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...corehard_by
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.Igor Shkulipa
 
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиИспользование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиOlya Parkhimovich
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2Zhanna Kazakova
 

Similar to модуль 03 строки (20)

строковые величины
строковые величиныстроковые величины
строковые величины
 
лек7
лек7лек7
лек7
 
лек7
лек7лек7
лек7
 
лек8
лек8лек8
лек8
 
ACCESS свойства полей таблиц
ACCESS свойства полей таблицACCESS свойства полей таблиц
ACCESS свойства полей таблиц
 
Дополнительные возможности Javascript
Дополнительные возможности JavascriptДополнительные возможности Javascript
Дополнительные возможности Javascript
 
Programming c++ (begin-if-else)
Programming c++ (begin-if-else)Programming c++ (begin-if-else)
Programming c++ (begin-if-else)
 
Как за час сделать недельную работу
Как за час сделать недельную работуКак за час сделать недельную работу
Как за час сделать недельную работу
 
scanf(). Операторы ветвления. Тернарный оператор. switch
scanf(). Операторы ветвления. Тернарный оператор. switchscanf(). Операторы ветвления. Тернарный оператор. switch
scanf(). Операторы ветвления. Тернарный оператор. switch
 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
 
Classes: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilderClasses: Number, String, StringBuffer, StringBuilder
Classes: Number, String, StringBuffer, StringBuilder
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularities
 
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...
Обобщенное программирование в C++ или как сделать свою жизнь проще через стра...
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
 
Test
TestTest
Test
 
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактамиИспользование Open refine для работы с открытыми бюджетами и гос. контрактами
Использование Open refine для работы с открытыми бюджетами и гос. контрактами
 
лр1
лр1лр1
лр1
 
C language. Introduction
C language. IntroductionC language. Introduction
C language. Introduction
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
 

More from Yevgeniy Gertsen

модуль 18 сериализация объектов
модуль 18 сериализация объектовмодуль 18 сериализация объектов
модуль 18 сериализация объектовYevgeniy Gertsen
 
модуль 17 основы xml
модуль 17 основы xmlмодуль 17 основы xml
модуль 17 основы xmlYevgeniy Gertsen
 
модуль 17 основы xml
модуль 17 основы xmlмодуль 17 основы xml
модуль 17 основы xmlYevgeniy Gertsen
 
модуль 16 взаимодействие с файловой системой
модуль 16 взаимодействие с файловой системоймодуль 16 взаимодействие с файловой системой
модуль 16 взаимодействие с файловой системойYevgeniy Gertsen
 
модуль 14 введение в generics
модуль 14 введение в genericsмодуль 14 введение в generics
модуль 14 введение в genericsYevgeniy Gertsen
 
модуль 15 сборка мусора. рефлексия
модуль 15 сборка мусора. рефлексиямодуль 15 сборка мусора. рефлексия
модуль 15 сборка мусора. рефлексияYevgeniy Gertsen
 
модуль 13 использование коллекций
модуль 13 использование коллекциймодуль 13 использование коллекций
модуль 13 использование коллекцийYevgeniy Gertsen
 
модуль 12 делегаты, события
модуль 12 делегаты, событиямодуль 12 делегаты, события
модуль 12 делегаты, событияYevgeniy Gertsen
 
модуль 11 структуры, перечисления
модуль 11 структуры, перечислениямодуль 11 структуры, перечисления
модуль 11 структуры, перечисленияYevgeniy Gertsen
 
Модуль 10 Интерфейсы
Модуль 10 ИнтерфейсыМодуль 10 Интерфейсы
Модуль 10 ИнтерфейсыYevgeniy Gertsen
 
Модуль 07 Перегрузка операторов
Модуль 07 Перегрузка операторовМодуль 07 Перегрузка операторов
Модуль 07 Перегрузка операторовYevgeniy Gertsen
 
модуль 06 пространства имен
модуль 06 пространства именмодуль 06 пространства имен
модуль 06 пространства именYevgeniy Gertsen
 
модуль 05 обработка исключений
модуль 05 обработка исключениймодуль 05 обработка исключений
модуль 05 обработка исключенийYevgeniy Gertsen
 
модуль 03 массивы
модуль 03 массивымодуль 03 массивы
модуль 03 массивыYevgeniy Gertsen
 
модуль 02 основы языка программирования c#
модуль 02 основы языка программирования c#модуль 02 основы языка программирования c#
модуль 02 основы языка программирования c#Yevgeniy Gertsen
 
модуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netмодуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netYevgeniy Gertsen
 

More from Yevgeniy Gertsen (20)

модуль 18 сериализация объектов
модуль 18 сериализация объектовмодуль 18 сериализация объектов
модуль 18 сериализация объектов
 
модуль 17 основы xml
модуль 17 основы xmlмодуль 17 основы xml
модуль 17 основы xml
 
модуль 17 основы xml
модуль 17 основы xmlмодуль 17 основы xml
модуль 17 основы xml
 
модуль 16 взаимодействие с файловой системой
модуль 16 взаимодействие с файловой системоймодуль 16 взаимодействие с файловой системой
модуль 16 взаимодействие с файловой системой
 
модуль 14 введение в generics
модуль 14 введение в genericsмодуль 14 введение в generics
модуль 14 введение в generics
 
модуль 15 сборка мусора. рефлексия
модуль 15 сборка мусора. рефлексиямодуль 15 сборка мусора. рефлексия
модуль 15 сборка мусора. рефлексия
 
модуль 13 использование коллекций
модуль 13 использование коллекциймодуль 13 использование коллекций
модуль 13 использование коллекций
 
модуль 12 делегаты, события
модуль 12 делегаты, событиямодуль 12 делегаты, события
модуль 12 делегаты, события
 
модуль 11 структуры, перечисления
модуль 11 структуры, перечислениямодуль 11 структуры, перечисления
модуль 11 структуры, перечисления
 
Модуль 10 Интерфейсы
Модуль 10 ИнтерфейсыМодуль 10 Интерфейсы
Модуль 10 Интерфейсы
 
модуль 09-02
модуль 09-02модуль 09-02
модуль 09-02
 
модуль 09-01
модуль 09-01модуль 09-01
модуль 09-01
 
модуль 08
модуль 08модуль 08
модуль 08
 
Модуль 07 Перегрузка операторов
Модуль 07 Перегрузка операторовМодуль 07 Перегрузка операторов
Модуль 07 Перегрузка операторов
 
модуль 06 пространства имен
модуль 06 пространства именмодуль 06 пространства имен
модуль 06 пространства имен
 
модуль 04
модуль 04модуль 04
модуль 04
 
модуль 05 обработка исключений
модуль 05 обработка исключениймодуль 05 обработка исключений
модуль 05 обработка исключений
 
модуль 03 массивы
модуль 03 массивымодуль 03 массивы
модуль 03 массивы
 
модуль 02 основы языка программирования c#
модуль 02 основы языка программирования c#модуль 02 основы языка программирования c#
модуль 02 основы языка программирования c#
 
модуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .netмодуль 01 введение в платформу microsoft .net
модуль 01 введение в платформу microsoft .net
 

модуль 03 строки

  • 1. Строки и класс System.String 1
  • 2.  Строка является ссылочным типом;  Строка является неизменяемой  Строка может содержать значение null 2
  • 4. 4 Операции для строк  присваивание (=);  проверка на равенство (==);  проверка на неравенство (!=);  обращение по индексу ([]);  сцепление (конкатенация) строк (+).
  • 7. Compare/CompareOrdinal Статический метод, сравнивает строку strA со строкой strB возвращает:  Больше нуля, если строка strA больше строки strB;  Меньше нуля, если строка strA меньше строки strB;  Нуль, если строки strA и strB равны. Делает то же, что и метод Compare(), но без учета локальных установок 7
  • 8. CompareTo Сравнивает данный экземпляр с заданным объектом String  Больше нуля, если строка strA больше строки strB;  Меньше нуля, если строка strA меньше строки strB;  Нуль, если строки strA и strB равны. 8
  • 9. Конкатенация (соединение) строк 9 Concat Комбинирует отдельные экземпляры строк в одну строку (конкатенация).
  • 10. StartsWith/EndsWith  Возвращает логическое значение true, если вызывающая строка начинается с подстроки value. В противном случае возвращается false.  Возвращает логическое значение true, если вызывающая строка оканчивается подстрокой value. В противном случае возвращает false. 10 Contains Метод, который позволяет определить, содержится ли в строке определенная подстрока. Поиск в строке
  • 11. IndexOf/LastIndexOf  Находит первое вхождение заданной подстроки или символа в строке. Если искомый символ или подстрока не обнаружены, то возвращается значение -1.  То же, что IndexOf, но находит последнее вхождение символа или подстроки, а не первое 11
  • 12. Split Метод, возвращающий массив string с присутствующими в данном экземпляре подстроками внутри, которые отделяются друг от друга элементами из указанного массива char или string 12 Join Строит новую строку, комбинируя содержимое массива строк Разделение и соединение строк
  • 13. Заполнение и обрезка строк 13 Trim  Метод, который позволяет удалять все вхождения определенного набора символов с начала и конца текущей строки.
  • 14. Insert/Remove/Replace  Используется для вставки одной строки в другую, где value обозначает строку, вставляемую в вызывающую строку по индексу  Используется для удаления части строки.  Используется для замены части строки. 14 Вставка, удаление и замена строк
  • 15. ToUpper/ToLower  Делает заглавными все буквы в вызывающей строке.  Делает строчными все буквы в вызывающей строке 15 Смена регистра
  • 16. Substring  В первой форме метода Substring() подстрока извлекается, начиная с места, обозначаемого параметром startIndex, и до конца вызывающей строки.  А во второй форме данного метода извлекается подстрока, состоящая из количества символов, определяемых параметром length, начиная с места, обозначаемого параметром startIndex. 16 Получение подстроки из строки
  • 17. 17 Спецификаторы формата для строк C или c Вывод значений в денежном (currency) формате. D или d Вывод целых значений. E или e Вывод значений в экспоненциальном формате, то есть в виде d.ddd…E+ddd или d.ddd…e+ddd. F или f Вывод значений с фиксированной точностью. G или g Формат общего вида. Вывод значений с фиксированной точностью или в экспоненциальном формате, в зависимости от того, какой формат требует меньшего количества позиций. N или n Вывод значений в формате d,ddd,ddd.ddd. После спецификации можно задать целое число, определяющее длину дробной части P или p Вывод числа в процентном формате R или r Отмена округления числа при преобразовании в строку. Гарантирует, что при обратном преобразовании в значение того же типа получится то же самое X или x Вывод значений в шестнадцатеричном формате.
  • 18. Специальный символ Формат Описание c/C Денежная единица Указывает количество десятичных знаков d/D Целые числа Указывает минимальное количество цифр. При необходимости добавляются нули e/E Экспоненциальные числа Указывает количество десятичных знаков f/F Числа с фиксированной точкой Указывает количество десятичных знаков g/G Форматы e/E и g/G Использует более короткий формат из двух: f/F и g/G n/N Числа с фиксированной точкой с отделением групп разрядов Указывает количество десятичных знаков p/P Проценты Умножает число на 100 и выводит со знаком процентов. Указывает количество десятичных знаков r/R Формат кругового преобразования. Только фиксированная точка Форматирует число в строку таким образом, что его можно обратно преобразовать без потерь точности x/X Шестнадцатеричные числа Указывает минимальное количество цифр. При необходимости добавляются нули 18
  • 19. 19 Специальный символ Значение 0 Цифра или ноль # Цифра . Разделитель дроби , Разделитель тысяч % Процент e Экспонента ; Определяет разделы, которые описывают форматы для положительных, отрицательных чисел и нуля Экранирование специальных символов. Позволяет вставлять спец-символы как текст
  • 20. 20 Console.WriteLine("{0:0000.00}", 1024.32); // "1024,32" Console.WriteLine("{0:00000.000}", 1024.32); // "01024,320" Console.WriteLine("{0:####.###}", 1024.32); // "1024,32" Console.WriteLine("{0:####.#}", 1024.32); // "1024,3" Console.WriteLine("{0:#,###.##}", 1024.32); // "1 024,32" Console.WriteLine("{0:##%}", 0.32); // "32%" Console.WriteLine("{0:<####.###>;[####.###];ноль}", 1024.32); // "<1024,32>" Console.WriteLine("{0:<####.###>;[####.###];ноль}", - 1024.32); // "[1024,32]" Console.WriteLine("{0:<####.###>;[####.###];ноль}", 0); // "ноль"
  • 21.  0:00000 - 00123  0:0.00 - 1.20  0:00.00 - 01.20  1.2 - 0:#.## - 1.2  123 - 0:##### - 123  123456 - 0:[##-##-##] - [12-34-56]  1234567890 - 0:# - 1234567890 0:(###) ###-####} - (123) 456-7890 1234567890 - 0:#,# 1,234,567,890  0:#,##0,, - 1,235  0:dddd MMMM - 21
  • 22. Специальный символ Формат Пример d Короткая дата 30.06.2014 D Длинная дата 30 июня 2014 г. t Короткое время 22:30 T Длинное время 22:30:10 f Длинная дата/короткое время 30 июня 2014 г. 22:30 F Длинная дата/длинное время 30 июня 2014 г. 22:30:10 g Короткая дата/короткое время 30.06.2014 22:30 G Короткая дата/длинное время 30.06.2014 22:30:10 M/m Месяц и день июня 30 O/o Обратный 2014-06- 30T22:30:10.0000000 R/r RFC1123 Mon, 30 Jun 2014 22:30:10 GMT s Для сортировки 2014-06-30T22:30:10 u Локальное, в универсальном формате 2014-06-30 22:30:10Z U GMT 30 июня 2014 г. 19:30:10 Y Год и месяц Июнь 2014 22
  • 23.  Console.WriteLine("{0:d}", DateTime.Now); // "30.06.2014"  Console.WriteLine("{0:D}", DateTime.Now); // "30 июня 2014 р."  Console.WriteLine("{0:t}", DateTime.Now); // "2:57"  Console.WriteLine("{0:T}", DateTime.Now); // "2:57:53"  Console.WriteLine("{0:U}", DateTime.Now); // "29 июня 2014 р. 23:57:53"  Console.WriteLine("{0:Y}", DateTime.Now); // "Июнь 2014 р." 23
  • 24. ©Павловская Т.А. (НИУ ИТМО) 24 Примеры пользовательских шаблонов Число Шаблон Представление числа 1,243 00.00 01,24 1,243 #.## 1,24 0,1 00.00 00,10 0,1 #.## ,1
  • 26. 26 При создании экземпляра обязательно использовать операцию new и конструктор, например:  StringBuilder sb = new StringBuilder("Привет мир"); Класс StringBuilder имеет два главных свойства Console.WriteLine("Длина строки: {0}", sb.Length); Console.WriteLine("Емкость строки:{0}",sb.Capacity);
  • 28. Append  Добавляет строку к текущей строке 28 AppendFormat  Добавляет строку, сформированную в соответствии со спецификатором формата Insert  Вставляет подстроку в строку
  • 29. Remove  Удаляет символ из текущей строки 29 Replace  Заменяет все вхождения символа другим символом или вхождения подстроки другой подстрокой ToString  Возвращает текущую строку в виде объекта System.String
  • 30. Когда надо использовать класс String, а когда StringBulder? 30
  • 31. класс String в следующих случаях 31  При небольшом количестве операций и изменений над строками  При выполнении фиксированного количества операций объединения. В этом случае компилятор может объединить все операции объединения в одну  Когда надо выполнять масштабные операции поиска при построении строки, например IndexOf. Класс StringBuilder не имеет подобных методов
  • 32. класс StringBuilder в следующих случаях 32  При неизвестном количестве операций и изменений над строками во время выполнения программы  Когда предполагается, что приложению придется сделать множество подобных операций