- •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.
1.Встроенные типы
Язык С# предоставляет программисту широкий спектр встроенных типов, которые соответствуют CLS (Common Language Specification) и отображаются на основные типы платформы .NET. Это гарантирует, что объекты, созданные на С#, могут успешно использоваться наряду с объектами, созданными на любом другом языке программирования, поддерживающем .NET CLS (например, VB.NET).
Каждый тип имеет строго заданный для него размер, который не может изменяться. В отличие от языка C++, в С# тип int всегда занимает 4 байта, потому что отображается к Int32 в .NET CLS. Представленная ниже таблица содержит список всех встроенных типов, предлагаемых С#.
Тип |
Область значений |
Размер |
sbyte |
-128 до 127 |
Знаковое 8-бит целое |
byte |
0 до 255 |
Беззнаковое 8-бит целое |
char |
U+0000 до U+ffff |
16-битовый символ Unicode |
bool |
true или false |
1 байт |
short |
-32768 до 32767 |
Знаковое 16-бит целое |
ushort |
0 до 65535 |
Беззнаковое 16-бит целое |
int |
-2147483648 до 2147483647 |
Знаковое 32-бит целое |
uint |
0 до 4294967295 |
Беззнаковое 32-бит целое |
long |
-9223372036854775808 до 9223372036854775807 |
Знаковое 32-бит целое |
ulong |
0 до 18446744073709551615 |
Беззнаковое 32-бит целое |
float |
±1,5*10-45 до ±3,4*1033 |
4 байта, точность — 7 разрядов |
double |
±5*10-324 до ±1,7*10306 |
8 байт, точность —16 разрядов |
decimal |
|
12 байт, точность — 28 разрядов |
В дополнение к этим примитивным типам С# может иметь объекты типа enum и struct.
____________________________________________________________________________________________________________
2. Опишіть відмінності значимих і посилальних типів.
class My
{
public string obj;
public object o;
public int i;
public Object o1;
}
class Program
{
static void Main(string[] args)
{
int a = 5;// значущій тип даних
int b;// за замовчення проінійіалізується нулем(значущій тип даних)
bool c;// за замовчення проінійіалізується false(значущій тип даних)
char s = ' ';// за замовчення проінійіалізується '\0'(значущій тип даних)
Program var=new Program();// посилальний тип даних
Program var1 = new Program();
var = var1;//копіює посилання за замовченням null
My my = new My();
if (my.obj == null)
Console.WriteLine("null");//на консолі буде null
Console.WriteLine(my.i);//на консолі буде 0
Console.WriteLine(var);
Console.WriteLine(var);
Console.ReadLine();
}
}
}
____________________________________________________________________________________________________________