
- •Обзор типов данных
- •Ссылочные типы и адреса
- •Объявление переменных (в любом месте в пределах класса): тип_данных список_имен;
- •Арифметические операторы
- •Операторы инкремента и декремента
- •Логические операторы
- •логические операторы
- •Для логических операторов операнды должны иметь тип bool. Результатом логических операций также являются
- •Принцип выполнения быстрых операций
- •Единственная разница между обычной и быстрой версиями операторов:
- •Приоритетность выполнения операторов
- •Символьный тип
- •Литералы
- •Целочисленные литералы представлены как числа без дробной части.
- •1. По умолчанию типом целочисленных литералов является наименьший целочисленный тип, начиная с int,
- •беззнаковый целочисленный литерал
- •4. Хотя целочисленные литералы, имеющие тип int, uint, long или ulong, могут быть
- •Управляющие символы
- •Последовательность символов и описание действия
- •Строковые литералы
- •Пример:
- •Переменные и их инициализация
- •При создании переменной создается объект данных - экземпляр ее типа,
- •Инициализация переменной
- •Примеры инициализации:
- •Область видимости и время жизни переменных
- •Область видимости может быть
- •//В программе демонстрируется возможности доступа
- •// В данном блоке видны обе переменные, x и y.
- •Внутри блока переменная может быть объявлена в любом месте,
- •!!! ВАЖНО:
- •Пример:
- •переменная y
- •Программа с попыткой объявить две переменные с одинаковыми именами ошибочна:

Единственная разница между обычной и быстрой версиями операторов:
обычные операторы всегда оценивают и первый, и второй операнды,
а быстрые операторы оценивают второй операнд только при необходимости.
Примечание. В ЯП C#, в отличие от многих других языков, нельзя
вместо false использовать 0,
а вместо true - любое ненулевое число. Так, следующий фрагмент содержит ошибку:
int k; ... if(k) //Ошибка! ...
12

Приоритетность выполнения операторов
() [ ] ++ постфикс - - постфикс
! + - унарные |
++ префикс - - префикс |
* / % |
a+++b |
+ - бинарные |
|
< > <= >= |
? |
== != |
(a++)+b a+(++b) |
& |
|
^ |
|
| |
|
&& |
|
|| |
|
= |
|
13

Символьный тип
|
В C# используется стандартный набор символов Unicode, |
|
Для типа char выделяется 16 битов, |
|
Это позволяет работать со значениями кодов |
|
от 0 до 65535. |
|
ASCII-символы действительны, |
|
стандартный 8-битовый набор символов ASCII - составная часть |
|
Unicode, коды от 0 до 127. |
Синтаксис объявления переменной ch типа char и оператор присваивания имеют вид:
char ch;
ch = 'X';
Для вывода символьного значения используется метод WriteLine().
Вывод значения переменной ch: Console.WriteLine("Значение переменной ch - " + ch);
14

Тип char определен в C# как целочисленный тип данных.
НО его нельзя совмещать с целочисленными типами, предназначенными для представления чисел (например, int),
Причина: C# не обеспечивает автоматическое преобразование из других целочисленных типов в char.
Пример :
char ch; // присвоить символ Х
ch = 88; // Ошибка!
ch = 'X'; //
ch = '\x0058'; // Hexadecimal
ch = (char)88; // преобразование из целого
ch = '\u0058'; // Unicode
15

Тип char определен в C# как структура данных System.Char с
набором методов:
http://msdn.microsoft.com/ru-ru/library/424s1h3z.aspx
Для вызова метода указывается:
Var_name.Met_name(…)
или
Char.Met_name(…)
Пример метода:
public static bool IsLetter(char c)
public static bool IsLetter( string s, int index )
public class IsLetterSample
{
public static void Main()
{
char ch = '8';
Console.WriteLine(Char.IsLetter(ch));
Console.WriteLine(Char.IsLetter("sample string", 7));
}
}
16

Литералы
В C# литералами (или константами) называют фиксированные значения, (например, число 10 - литерал).
В C# литералы могут быть значениями любого типа, от которого зависит способ представления каждого литерала.
Символьные литералы заключаются в одинарные кавычки.
Например, 'a' и '1' - символьные литералы.
17

Целочисленные литералы представлены как числа без дробной части.
Например, 10 и -100 - целочисленные
литералы.
Литералы с плавающей точкой
Например, 11.123, 1.1E-10 - константы с плавающей точкой.
C# - язык со строгим контролем типов ==> литералы также определяются как принадлежащие к конкретному типу.
Определение типа каждого числового литерала в C# основано на специальных правилах.
18

1. По умолчанию типом целочисленных литералов является наименьший целочисленный тип, начиная с int, который способен хранить данное число.
в зависимости от величины числа типом целочисленных литералов
может быть int, uint, long или ulong.
2. По умолчанию литералы с плавающей точкой имеют тип double.
3. Явное задание типа числового литерала выполняется с помощью суффикса.
Для спецификации типа добавляется после записи числа:
литерал long - буква l или L
(например, число 20 имеет тип int, а 20L - тип long);
19

беззнаковый целочисленный литерал
-буква u или U
(например, число 100 имеет тип int,
а 100U - тип uint);
длинный беззнаковый целочисленный литерал - суффикс ul или UL (например, литерал 984375UL
имеет тип ulong);
литерал float - буква f или F (например, литерал 10.19F имеет тип float);
литерал decimal - буква m или M (9.95М является литералом, имеющим тип decimal).
20

4. Хотя целочисленные литералы, имеющие тип int, uint, long или ulong, могут быть присвоены переменным типа byte, sbyte, short или ushort,
но только в том случае, если присваиваемое значение может представляться этим типом
byte i = 10; // 10 имеет тип int
Шестнадцатеричные литералы
C# позволяет использование целочисленных констант в шестнадцатеричном формате.
Шестнадцатеричные литералы должны начинаться с символов 0x (ноль и x).
Примеры:
count = 0xFF; // 255 в десятичной системе
incr = 0x20; // 32 в десятичной системе
21