
- •Практична робота. Середовище розробки додаткив с#. Базові класи. Клас String.
- •Методи классу String для робот из рядками
- •Варіанти індивідуальних завдань
- •Контрольні питання
- •Практична робота 1. Проектування. Класи. Конструктори класу. Статичниі елементів класу. Спадкоємство. Частина 1.Класи. Конструктори класу. Статичні елементи класу.
- •Теоретична частина
- •Приклад
- •Хід виконання роботи
- •Індивідуальні завдання
- •Контольні запитання
- •Частина 2. Спадкоємство.
- •Теоретична частина
- •Приклад класичного спадкоємства
- •Приклад спадкоємства включення - делегування
- •Контрольні питання
- •Практична робота 2. Використання системних інтерфейсів. Створення класів походних від стандартних інтерфейсів. Частина 1. Інтерфейс iCloneable.
- •Теоретична частина
- •Приклад
- •Контрольні питання
- •Частина 2. Інтерфейси iСomparable і iСomparer.
- •Теоретична частина
- •Приклад
- •Контрольні питання
- •Частина 3. Інтерфейси iEnumerable і iEnumerator.
- •Теоретична частина
- •Інтерфейс iEnumerable
- •Приклад
- •Реалізація класу -коллекция без реалізації інтерфейсу Iеnumerator
- •Контрольні питання
- •Практическая работа 3. Моделювання в конструюванні. Використання масивів для розроблених типів. Частина 1. Користувальницький індексатор.
- •Теоретическая часть
- •Отличия между свойствами и индексаторами
- •Интерфейсы и индексаторы
- •Частина 2. Перевантаження унарних та бінарних операцій.
- •Теоретическая часть
- •Пример на перегрузку унарного оператора
- •Пример на перегрузку true и false
- •Пример на перегрузку бинарного оператора
- •Пример на перегрузку явных и неявных преобразований
- •Практична робота 4. Моделювання в конструюванні. Створення та використання класу ArrayList для розроблених типів. Частина 1. Частина 1.Створення власної колекції.
- •Теоретична частина
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ХАРКІВСЬКИЙ ПАТЕНТНО КОМПЬЮТЕРНИЙ КОЛЕДЖ
Методичне забезпечення до практичних робіт з дисципліни
«Конструювання програмного забезпечення»
2013-2014
Перелік практичних робіт з дисципліни
«Конструювання програмного забезпечення»
N з/п |
Назва теми |
Кількість годин |
1 |
Проектування. Класи. Конструктори класу. Статичниі елементів класу. Спадкоємство. |
6 |
2 |
Використання системних інтерфейсів. Створення класів походних від стандартних інтерфейсів. |
6 |
3 |
Моделювання в конструюванні. Використання масивів для розроблених типів. |
6 |
4 |
Моделювання в конструюванні. Створення та використання класу ArrayList для розроблених типів. |
6 |
5 |
Створення однодокументного додатку з використанням елементів керування |
6 |
6 |
Створення багатодокументного додатку з використанням стандартних діалогів відкриття та збереження файлу. |
6 |
7 |
Вимірювання в конструюванні. Використання рефакторінгу для створеного додатку. |
6 |
|
Підсумок |
42 |
Практична робота. Середовище розробки додаткив с#. Базові класи. Клас String.
Мета - Вивчення середовища розробки додатків на мові програмування С#, та вивчення методів та властивостей класу String.
Тип данных string (строки Unicode) — это встроенный тип данных С#. Как и все встроенные типы данных, все строки в мире С# и .NET происходят от единственного базового класса — System.String. Этот базовый класс обеспечивает множество методов, которые призваны выполнить всю необходимую работу по работе со строками.
Несмотря на то, что тип данных string относится к ссылочной категории данных, при использовании операторов равенства (= = и ! =) происходит сравнение значений строковых объектов, а не адресов этих объектов в оперативной памяти.
Для класса string, оператор сложения (+) в С# перегружен таким образом, что при применении к строковым объектам он вызывает метод конкатенации строк(Concat()).
При работе со строками в С# необходимо помнить что значение строки не может быть изменено. Строки являются неизменяемыми (immutable). System.String предоставляет множество методов, однако эти методы только на первый взгляд могут изменять строки. На самом деле они возвращают лишь измененную копию строки.
В С# строки могут содержать любое количество управляющих последовательностей (escape characters):
Управляющие последовательности |
Назначение
|
\’ |
V Вставить одинарную кавычку в строку |
\” |
Вставить двойную кавычку в строку |
\\ |
Вставить в строку обратный слэш. Особенно полезно при работе с путями в файловой системе |
\a |
Запустить системное оповещение (Alert) |
\b |
Вернуться на одну позицию (Backspace) |
\f |
Начать следующую страницу (Form feed) |
\n |
Вставить новую строку (New line) |
\r |
Вставить возврат каретки (carriage Return) |
\t |
Вставить горизонтальный символ табуляции (horizontal Tab) |
\u |
Вставить символ Unicode |
\v |
Вставить вертикальный символ табуляции (Vertical tab) |
\o |
Представляет пустой символ (NULL) |
,
Методи классу String для робот из рядками
Конструкторы
|
Имя |
Описание |
|
String |
Перегружен. Инициализирует новый экземпляр класса String. |
Методы
|
Имя |
Описание |
|
Clone |
Возвращает ссылку на данный экземпляр класса String. |
S |
Compare |
Перегружен.Сравнивает два указанных объекта String int c=string.Compare(“abc”,”abd”); // -1 |
S |
CompareOrdinal |
Перегружен. Сравнивает два объекта String, оценивая числовые значения соответствующих объектов Char в каждой строке. int c=string.Compare(“abd”,”abc”); // 1 |
|
CompareTo |
Перегружен. Сравнивает этот экземпляр с заданным объектом или объектом типа String и возвращает значение, указывающее, как соотносятся значения этих объектов. string str=”abc”; int c=str.CompareTo(“abc”); // 0 |
S |
Concat |
Перегружен. Объединяет один или несколько экземпляров класса String или представления в виде String значений одного или нескольких экземпляров Object. string s1=” Иванов”,s2=” Иван”; string s3=string.Concat(s2,s1) // Иван Иванов |
|
Contains |
Возвращает значение, указывающее, равен ли данный экземпляр заданному объекту или значению типа String bool b=s3.Contains(“Иван”) //true |
S |
Copy |
Создает новый экземпляр String, имеющий то же значение, что и заданный экземпляр String. string str=string.Copy(s1) // Иванов |
|
CopyTo |
Копирует заданное число знаков начиная с указанной позиции в этом экземпляре до указанной позиции в массиве знаков Юникода. void CopyTo(int sourceIndex,char[] destination,int destinationIndex,int count) |
|
EndsWith |
Перегружен. Определяет, совпадает ли конец экземпляра String с указанной строкой. string s=”< Иванов >”; bool b=s.EndsWith(“>”) // true |
S |
Equals |
Перегружен. Определяет, равны ли значения двух объектов String. |
S |
Format |
Перегружен. Заменяет каждый элемент формата в указанном объекте String текстовым эквивалентом значения соответствующего объекта. int a=10,b=2; string s=string.Format(“a={0}, b={1},a+b={2}”,a,b,a=b)// a=10, b=2,a+b=12 |
|
GetEnumerator |
Извлекает объект, который может выполнять итерацию отдельных знаков данной строки. |
|
GetHashCode |
Возвращает хэш-код для этой строки. (Переопределяет Object..::.GetHashCode()()().) |
|
GetType |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) |
|
GetTypeCode |
Возвращает TypeCode для класса String. |
|
IndexOf |
Перегружен. Возвращает индекс первого вхождения String или одного или нескольких знаков в данной строке. string s1=” Иванов”,s2=” ан”; int i=s1.IndexOf(s2) //i=2 |
|
IndexOfAny |
Перегружен. Возвращает индекс первого обнаруженного в данном экземпляре знака из указанного массива знаков Юникода. string s=”Привет! Привет!”; int i=s.IndexOfAny(new char[]{'@', '.', ',', '!'}) //i=6 |
|
Insert |
Вставляет указанный экземпляр String в данный экземпляр по заданному индексу.public string Insert(int startIndex,string value) |
S |
Intern |
Извлекает системную ссылку на указанный объект String. |
S |
IsInterned |
Извлекает ссылку на указанный объект String. |
|
IsNormalized |
Перегружен. Указывает, находится ли данная строка в определенной форме нормализации Юникода. |
S |
IsNullOrEmpty |
Указывает, является ли заданный объект String значением nullNothingnullptrссылка null (Nothing в Visual Basic) или строкой Empty. |
S |
Join |
Перегружен. Вставляет заданный разделитель типа String между элементами заданного массива String, создавая одну сцепленную строку. string[] m={"AA","BB","CC"}; string mm = string.Join("::",m ); //AA::BB::CC |
|
LastIndexOf |
Перегружен. Возвращает индекс последнего вхождения указанного знака Юникода или String в пределах данного экземпляра. string s1=”Иванов Иван”,s2=” ан”; int i=s1.LastIndexOf(s2) //i=10 |
|
LastIndexOfAny |
Перегружен. Возвращает индекс последнего вхождения в данном экземпляре какого-либо одного или нескольких знаков, указанных в массиве знаков Юникод. string s=”Привет! Привет!”; int i=s.LastIndexOfAny(new char[]{'@', '.', ',', '!'}) //i=14 |
|
MemberwiseClone |
Создает неполную копию текущего объекта Object. (Унаследовано от Object.) |
|
PadLeft |
Перегружен. Выравнивает знаки в данном экземпляре по правому краю, добавляя слева пробелы или указанные знаки Юникода до указанной общей длины. string s=”Drag and Drop”; s.PadLeft(20) //” Drag and Drop” |
|
PadRight |
Перегружен. Выравнивает знаки в данной строке по левому краю, добавляя справа пробелы или указанные знаки Юникода до указанной общей длины. string s=”Drag and Drop”; s.PadLeft(20) //”Drag and Drop ” |
|
Remove |
Перегружен. Удаление заданного числа знаков из данного экземпляра. public string Remove(int startIndex,int count) |
|
Replace |
Перегружен. Заменяет все вхождения указанного знака Юникода или String в данном экземпляре другим заданным знаком Юникода или String. public string Replace(string oldValue,string newValue) |
|
Split |
Перегружен. Возвращает строковый массив, содержащий подстроки данного экземпляра, разделенные элементами заданной строки или массива знаков Юникода. string s=”Мама мыла раму”;string[]m=s.Split(' '); //m[0]="Мама”;m[1]=”мыла”;m[2]=”раму”; |
|
StartsWith |
Перегружен. Определяет, совпадает ли начало экземпляра String с указанной строкой. string s=”< Иванов >”; bool b=s.StartsWith(“<”) // true |
|
Substring |
Перегружен. Извлекает подстроку из данного экземпляра. public string Substring(int startIndex, int length) |
|
ToCharArray |
Перегружен. Копирует знаки данного экземпляра в массив знаков Юникода. string Str = " ,.:"; char [] delimiter = delimStr.ToCharArray(); |
|
ToLower |
Перегружен. Возвращает копию этого объекта String, переведенную в нижний регистр. string s1=”Иванов Иван”;s1.ToLower(); //иванов иван |
|
ToLowerInvariant |
Возвращает копию этого объекта String, переведенную в нижний регистр, используя правила учета регистра инвариантного языка и региональных параметров. |
|
ToString |
Перегружен. Преобразует значение данного экземпляра в String. |
|
ToUpper |
Перегружен. Возвращает копию этого объекта String, переведенную в верхний регистр. string s1=”Иванов Иван”;s1.ToLower(); //ИВАНОВ ИВАН |
|
ToUpperInvariant |
Возвращает копию этого объекта String, переведенную в верхний регистр, используя правила учета регистра инвариантного языка и региональных параметров. |
|
Trim |
Перегружен. Удаляет все начальные и конечные вхождения заданных наборов знаков из текущего объекта String. string s1=” Иванов Иван ”; s1.Trim(‘ ‘);//"Иванов Иван” |
|
TrimEnd |
Удаляет все конечные вхождения набора знаков, заданного в виде массива, из текущего объекта String. string s1=” Иванов Иван ”; s1.TrimEnd(‘ ‘);//" Иванов Иван” |
|
TrimStart |
Удаляет все начальные вхождения набора знаков, заданного в виде массива, из текущего объекта String. string s1=” Иванов Иван ”; s1.TrimEnd(‘ ‘);//”Иванов Иван ” |
Операторы
|
Имя |
Описание |
S |
Equality |
Определяет, равны ли значения двух указанных объектов String. |
S |
Inequality |
Определяет, различаются ли значения двух указанных объектов String. |
Поля
S |
Empty |
Представляет пустую строку. Это поле доступно только для чтения. string s=string.Empty; //s=”” |
Свойства
|
Chars |
Возвращает знак в указанной позиции в текущем объекте String. String s=”12345”; char c=s[3]; // c=’4‘ |
|
Length |
Возвращает число знаков в текущем объекте String. String s=”12345”; int l=s.Length; //l=5 |