- •1.Встроенные типы
- •2. Опишіть відмінності значимих і посилальних типів.
- •3. Ключові слова const та readonly.
- •4. У чому полягає процес упакування й розпакування?
- •Що відбувається при використанні у виразах операндів різних типів? Наведіть приклади.
- •Що таке виняткові ситуації. Опишіть принципи їх обробки.
- •InnerException:
- •Var.CatchInner();
- •7. Передача параметрів у методи за посиланням та за значенням.
- •8. Який клас використовується для консольного вводу / виводу? Наведіть приклади вводу / виводу змінних різних типів
- •Потоки консольного ввода-вывода
- •Функциональные возможности
- •9. Що входить у сигнатуру методу.
- •10. Ключове слово this.
- •13. Ключове слово base.
- •14. Чи можна описати різні специфікатори доступу до частин get і set властивостей?
- •15. Масиви: одномірні, прямокутні й східчасті. Клас System.Array.
- •Оператор foreach.
- •18 Перегрузка методов
- •Int resl;
- •Глава 8. Подробнее о методах и классах 229
- •20.Індексатори.
- •21. Class Object.
- •Оператори is та as .
- •23. Checked и Unchecked
- •24.Інтерфейси iComparable та iComparer.
- •25. Перевантаження операторів.
- •26. Фіналізація об’єктів. Інтерфейс iDisposable
- •Колекція Arraylist
- •29. Делегаты (c 457-464 (Shildt))
- •Глава 15. Делегаты, события и лямбда-выражения 463
- •31. Сериализация
- •32. Потоки
- •Терміни managed/ummanaged, safe/unsafe, assembly, clr, cts,cls, маніфест, метадані, cil код, Framework.
3. Ключові слова const та readonly.
Ключевое слово const указывает на то, что значение поля или локальной переменной является постоянным и не может быть изменено
Ключевое слово readonly — это модификатор, который можно использовать для полей. Если объявление поля содержит модификатор readonly, присвоение значений таким полям может происходить только как часть объявления или в конструкторе в том же классе.
class Program
{
public readonly int a; // не вимагає присвоєння значення при ініціалізації
Program(int a)
{
this.a = a;
}
void Change()
{
// a = 5; ПОМИЛКА!!! ключове слово readonly забороняє зміну значення
}
static void Main(string[] args)
{
const int x = 2; // за замовченням static
// x = 3; ПОМИЛКА!!! ключове слово const забороняє зміну значення
// const int z; ПОМИЛКА!!! ключове слово const вимагає присвоєння значення при ініціалізації
//var.a = 7; ПОМИЛКА ключове слово readonly забороняє зміну значення
____________________________________________________________________________________________________________
4. У чому полягає процес упакування й розпакування?
У
паковка-преобразование
представляет собой процесс преобразования
типа значения в тип object или любой другой
тип интерфейса, реализуемый этим типом
значения. Когда тип значения упаковывается
средой CLR, она создает программу-оболочку
значения внутри System.Object и сохраняет ее
в управляемой куче. Операция
распаковки-преобразования извлекает
тип значения из объекта. Упаковка-преобразование
является неявной; распаковка-преобразование
является явной. Концепция упаковки и
распаковки лежит в основе единой системы
типов C#, в которой значение любого типа
можно рассматривать как объект.
В следующем примере выполнена операция упаковки-преобразования целочисленной переменой i, которая присвоена объекту o.
int i = 123;
// The following line boxes i.
object o = i;
Можно затем выполнить операцию распаковки-преобразования объекта o и назначить его целочисленной переменной i:
o = 123;
i = (int)o; // unboxing
____________________________________________________________________________________________________________
Що відбувається при використанні у виразах операндів різних типів? Наведіть приклади.
При участии в арифметических операциях операндов разных типов, перед выполнением операции осуществляется преобразование типов так, чтобы не было потери точности. Затем осуществляется сама операция.
Типы данных в порядке возрастания точности:
char, short, int, long, float, double.
Пример:
int a, c;
float d, e;
e = d*(c+e); /* c будет преобразовано в float */
a = 'A' + 20; /* 'A' будет преобразовано в int */
____________________________________________________________________________________________________________
