- •Гугл-дока для екзамену Архітектура компютера. Програмне забезпечення
- •1. Поняття платформи. Структура та основні складові .Net Framework.
- •2. Функції та структура clr.
- •3. Поняття збірки. Метадані. Схема виконання .Net-додатку в clr.
- •4. Система типів даних мови c#. Типи-значення.
- •5. Система типів даних мови c#. Типи-посилання.
- •6. Масиви в c#: одновимірні, багатовимірні, ступеневі. Методи та властивості класу Array.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.(Второй вариант)
- •8. Багатопоточне програмування засобами .Net. Структура процесу ос Windows. Клас Thread.
- •9. Характеристика засобів синхронізації потоків та процесів .Net Framework.
- •10. Об’єкти синхронізації потоків .Net Monitor та ReaderWriterLock.
- •11. Об’єкти синхронізації потоків .Net lock та ManualResetEvent.
- •12. Об’єкти синхронізації потоків .Net AutoResetEvent та Mutex.
- •13. Обробка виключних ситуацій в мові c#, основні класи та методи .Net щодо обробки виключень.
- •14. Віртуальні функції та абстрактні класи в мові c#.
- •15. Статичні конструктори, поля та методи класів в мові c#.
- •17. Інтерфейси в мові c#. Порівняння з абстрактними класами. Сфера застосування інтерфейсів.
- •18. Огляд колекцій в .Net. Основні інтерфейси, що лежать в основі доступу до колекцій.
- •19. Колекція ArrayList. Методи та властивості. Переваги та недоліки використання.
- •20. Колекції Stack та Queue. Методи та властивості.
- •21. Колекція BitArray. Методи та властивості. Переваги та недоліки використання.
- •22. Колекція HashTable. Методи та властивості. Переваги та недоліки використання.
- •23. Характеристика generic-колекцій .Net
- •24. Колекція LinkedList. Методи та властивості.
- •26. Групи класів доступу до даних технології ado.Net.
- •27. Характеристика від’єднаних класів технології ado.Net.
- •28. Характеристика під’єднаних класів технології ado.Net.
- •29. Завантаження бінарних об’єктів у базу даних та вивантаження їх із неї.
- •30. Транзакції в базах даних. Інтерфейс транзакцій технології ado.Net.
- •31. Особливості мережевих протоколів tcp та udp. Поняття порту, адреси, сокету.
- •32. Характеристика сокетів зі з’єднанням. Інтерфейс класу Socket для даного типу сокетів.
- •33. Характеристика сокетів без з’єднання. Інтерфейс класу Socket для даного типу сокетів.
- •34. Характеристика асинхронних та синхронних сокетів. Інтерфейс класу Socket для даного типу сокетів.
- •35. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними зі з’єднанням. Інтерфейс класу tcpListener.
- •36. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними без з’єднання. Інтерфейс класу tcpClient..
- •37. Загальна схема та реалізація багатопоточного сокетного сервера зі з’єднанням.
- •38. Поняття сервіс-орієнтованого архітектури. Web-сервіси: переваги та недоліки, стандарти в основі Web-сервісів.
- •Стандарти, що використовуються веб-службами
- •Переваги веб-служб
- •Недоліки веб-служб
- •39. Компоненти архітектури Web-сервісів. Протоколи для Web-сервісів. Приклад реалізації серверної частини Web-сервісу.
- •Используемые стандарты
4. Система типів даних мови c#. Типи-значення.
|
Типи-значення |
Посилальні типи |
Змінна має |
значення |
посилання на значення |
Змінна зберігається |
в стеку |
в кучі |
Значення по замовченню |
0, false, ‘\0’ |
null |
Оператор присвоєння |
копіює значення |
копіює посилання |
Типы значений состоят из двух основных категорий:
Структуры
Перечисления
Структуры делятся на следующие категории:
Числовые типы
Целочисленные типы
Типы с плавающей запятой
decimal
bool
Пользовательские структуры.
Основные характеристики типов значений
Переменные, основанные на типах значений, содержат непосредственно значения. При присвоении переменной одного типа значений другому создается копия присваиваемого значения. В этом заключается отличие от переменных ссылочного типа, при присвоении которых копируются ссылки на объекты, но не сами объекты.
Все типы значений являются неявными производными от System.ValueType.
В отличие от ссылочных типов, новый производный тип из типа значения создать нельзя. Однако, как и в ссылочных типах, структуры могут реализовывать интерфейсы.
В отличие от ссылочных типов тип значения не может содержать значение null. Однако благодаря типам, допускающим значение null, все же можно присваивать типам значений значение null.
Для каждого типа значений существует неявный конструктор по умолчанию, инициализирующий значение по умолчанию для данного типа..Дополнительные сведения о значениях по умолчанию типов значений см. в таблице значений по умолчанию.
5. Система типів даних мови c#. Типи-посилання.
|
Типи-значення |
Посилальні типи |
Змінна має |
значення |
посилання на значення |
Змінна зберігається |
в стеку |
в кучі |
Значення по замовченню |
0, false, ‘\0’ |
null |
Оператор присвоєння |
копіює значення |
копіює посилання |
Типи посилання поділяються на 2 групи:
1. Вбудовані типи:
string
Тип даних string - це послідовність, що містить жодного чи будь-яке число знаків Юнікод. Незважаючи на те, що тип string є типом-посиланням, оператори рівності (== і! =) визначені для порівняння значень об'єктів типу string, а не посилань.
object
В уніфікованій системі типів C # всі типи, визначені і користувацькі, типи-посилання і типи-значення, успадковують безпосередньо чи опосередковано від Object. Змінним типу object можна призначати значення будь-яких типів.
Коли змінна типу значення перетвориться в об'єкт, кажуть, що вона упаковується. Коли змінна типу object перетворюється в тип значення, кажуть, що вона розпаковується.
2. Користувацькі типи:
сlass
interface
delegate
масиви
6. Масиви в c#: одновимірні, багатовимірні, ступеневі. Методи та властивості класу Array.
Массив — это структура данных, содержащая несколько переменных одного типа.Массивы объявляются со следующим типом.Type [ ] array_Name;
Примеры создания одномерных, многомерных массивов и ступенчатых массивов.
class TestArraysClass{
static void Main(){
int[] array1 = new int[5]; // Declare a single-dimensional array
int[] array2 = new int[] { 1, 3, 5, 7, 9 }; // Declare and set array element values
int[] array3 = { 1, 2, 3, 4, 5, 6 }; // Alternative syntax
int[,] multiDimensionalArray1 = new int[2, 3]; // Declare a two dimensional array
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } }; // Declare and set array element values
int[][] jaggedArray = new int[6][]; // Declare a jagged array
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };// Set the values of the first array in the jagged array structure }}
Массив имеет следующие свойства.
Массив может быть одномерным, многомерным или массивом массивов(ступенчатым).
Значение по умолчанию числовых элементов массива задано равным нулю, а элементы ссылок имеют значение NULL.
Невыровненный массив является массивом массивов и поэтому его элементы являются ссылочными типами и инициализируются значением null.
Индексация массивов начинается с 0
Элементы массива могут быть любых типов, включая тип массива.
Типы массива являются ссылочными типами, производными от абстрактного базового типа Array.Поэтому в C# во всех массивах можно использовать итерацию foreach.
Array
Класс который предоставляет методы для создания, изменения, поиска и сортировки массивов, то есть выступает в роли базового класса для всех массивов в среде CLR.
Свойства
IsFixedSize-Получает значение, показывающее, имеет ли список Array фиксированный размер.
IsReadOnly-Получает значение, указывающее, доступен ли объект Array только для чтения.
Length- Получает число, представляющее общее число элементов в массиве Array.
Rank Получает ранг (размерность) объекта Array.
Методы
Copy – позволяет копировать весь массив или его часть в другой массив.
IndexOf, LastIndexOf – определяют индексы первого и последнего вхождения образца в массив, возвращая значение -1, если такового вхождения не обнаружено.
Reverse – выполняет обращение массива, переставляя элементы в обратном порядке.
Sort – осуществляет сортировку массива.
BinarySearch – определяет индекс первого вхождения образца в отсортированный массив, используя алгоритм двоичного поиска.