Lektsia_2VP
.pdfОбзор синтаксиса C#
Приоритеты операций C#
Группа операций |
Входящие операции |
Описание |
|
|
|
|
х.m |
Доступ к члену. |
|
|
|
|
х(...) |
Вызов метода. |
|
|
|
|
х[...] |
Доступ к элементу. |
Первичные |
|
|
х++, х-- |
Постфиксные инкремент и |
|
|
декремент. |
|
|
|
|
new Т (...), |
Выражения создания. |
|
|
new Т [...] |
|
|
|
|
|
|
|
|
|
|
|
|
Получение объекта |
|
|
typeof(T) |
System.Туре для T. |
|
|
|
|
|
|
|
Вычисление выражения в |
|
|
checked(x), unchecked(х) |
управляемой и |
|
|
|
неуправляемой среде. |
|
|
|
|
|
|
default(T) |
Производит значение по |
|
|
умолчанию для типа Т |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
Приоритеты операций C#
Группа операций |
Входящие операции |
Описание |
|
|
|
|
|
|
delegate {...} |
Анонимная функция/метод |
|
|
|
|
|
|
+х, -х |
Идентичность и отрицание. |
|
|
|
|
|
|
!х |
Логическое отрицание. |
|
|
|
|
|
Унарные |
~х |
Двоичное отрицание. |
|
|
|
||
++х, --х |
Префиксные инкремент и |
||
|
|||
|
декремент. |
||
|
|
||
|
|
|
|
|
(Т) х |
Операция приведения. |
|
|
|
|
|
Мультипликативные |
х*у, х/у, х%у |
Умножение, деление и |
|
получение остатка. |
|||
|
|
||
|
|
|
|
Аддитивные |
х+у, х-у |
Сложение и вычитание. |
|
|
|
|
|
Сдвига |
х«у, х»у |
Сдвиг влево и вправо. |
|
|
|
|
|
Отношений и |
|
Меньше чем, больше чем, |
|
х<у, х>у, х<=у, х>=у |
меньше или равно, больше |
||
проверки типа |
|||
|
или равно. |
||
|
|
||
|
|
|
3
Приоритеты операций C#
Группа операций |
Входящие операции |
Описание |
|
|
|
|
|
|
|
true, если х может быть |
|
|
х is T |
преобразовано в т, иначе – |
|
|
|
false. |
|
Отношений и |
|
|
|
|
Возвращает х, |
||
проверки типа |
|
||
|
преобразованное в Т, или |
||
|
х as T |
||
|
null, если преобразование |
||
|
|
||
|
|
невозможно. |
|
|
|
|
|
Эквивалентности |
х == у, х != у |
Эквивалентно и |
|
неэквивалентно. |
|||
|
|
||
|
|
|
|
|
|
Целочисленное побитовое |
|
Логическое "И" |
х & у |
"И", булевское логическое |
|
|
|
"И". |
|
|
|
|
|
Логическое |
|
Целочисленное побитовое |
|
|
исключающее "ИЛИ", |
||
исключающее |
х ^ у |
||
булевское логическое |
|||
"ИЛИ" |
|
||
|
исключающее "ИЛИ". |
||
|
|
||
|
|
|
4
Приоритеты операций C#
Группа операций |
Входящие операции |
Описание |
|
|
|
|
|
|
|
Целочисленное побитовое |
|
Логическое "ИЛИ" |
х | у |
"ИЛИ", булевское |
|
|
|
логическое "ИЛИ" |
|
|
|
|
|
Условное "И" |
х && у |
Возвращается у, только если |
|
х истинно. |
|
||
|
|
|
|
|
|
|
|
Условное "ИЛИ" |
х || у |
Возвращается у, только если |
|
х ложно. |
|
||
|
|
|
|
|
|
|
|
Сравнения с null |
х ?? у |
Если х не равно null, |
|
возвращается х, иначе – у. |
|
||
|
|
|
|
|
|
|
|
Условные |
х ? у : z |
Возвращается у, если х |
|
истинно, иначе – z. |
|
||
|
|
|
|
|
|
|
|
|
х = у |
Простое присваивание. |
|
|
|
|
|
|
|
Составное присваивание: |
|
|
х ор= у |
может быть*=, /=, %=, |
|
Присваивание или |
+=, -=, «=, »=, &=, ^= |
|
|
|
|
||
анонимная функция |
|
или | =. |
|
|
|
|
|
|
(Т х) => у |
Лямбда-выражение |
|
|
|
(анонимная функция/метод) |
|
|
|
|
5 |
|
|
|
Типы и переменные
System.Console.WriteLine(42.ToString());
6
Тип C# |
Размер в битах |
Тип System |
Совместимость с CLS |
|
|
|
|
|
|
sbyte |
8 |
System.SByte |
Нет |
|
|
|
|
|
|
short |
16 |
System.Intl6 |
Да |
|
|
|
|
|
|
int |
32 |
System.Int32 |
Да |
|
|
|
|
|
|
long |
64 |
System.Int64 |
Да |
|
|
|
|
|
|
byte |
8 |
System.Byte |
Да |
|
|
|
|
|
|
ushort |
16 |
System.UIntl6 |
Нет |
|
|
|
|
|
|
uint |
32 |
System.UInt32 |
Нет |
|
|
|
|
|
|
ulong |
64 |
System.UInt64 |
Нет |
|
|
|
|
|
|
char |
16 |
System.Char |
Да |
|
|
|
|
|
|
bool |
8 |
System.Boolean |
Да |
|
|
|
|
|
|
float |
32 |
System.Single |
Да |
|
|
|
|
|
|
double |
64 |
System.Double |
Да |
|
|
|
|
|
|
decimal |
128 |
System.Decimal |
Да |
|
|
|
|
|
|
string |
– |
System.String |
Да |
|
|
|
|
|
|
object |
– |
System.Object |
Да |
|
|
|
|
|
|
dynamic |
– |
System.Object |
Да |
|
|
|
|
7 |
|
|
|
|
Типы и переменные
•CLS - Common Language Specification
•CLI - Common Language Infrastructure
•CTS - Common Type System
ВCLR существуют два вида типов:
1)Типы значений (value types).
2)Ссылочные типы (reference types).
8
К пояснению ссылочного типа
referenceA
Объект в куче
referenceB
9
Типы значений
int theAnswer = 42; System.Console.WriteLine(theAnswer.ToString());
10