Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тюмгу / Лекции КБ ИБАС 1 курс 2 семестр / лекция5 Безопасность 2018.pptx
Скачиваний:
13
Добавлен:
08.12.2019
Размер:
170.98 Кб
Скачать

Управляющие символы

В C# большинство выводимых символьных констант можно заключать в одинарные кавычки,

НО применение некоторых символов (например, символа возврата каретки) сложно.

Часть символов (например, символы одинарных или двойных кавычек) имеют в C# специальное значение.

Поэтому в C# предусмотрены специальные группы символов, так называемые escape-последовательности.

Например:

переменной ch присваивается символ табуляции:

ch = '\t';

переменной ch присваиваются одинарные кавычки:

ch = '\'';

22

Последовательность символов и описание действия

\a - Предупреждение (звонок)

\b - Возврат на одну позицию (backspace)

\f - Переход на новую страницу (formfeed)

\n - Переход на новую строку (linefeed)

\r - Возврат каретки

\t - Горизонтальная табуляция

\v - Вертикальная табуляция

\0 - Ноль

\‘ - одинарные кавычки

\" - Двойные кавычки

\\ - Символ обратной косой черты

23

Строковые литералы

В C# поддерживается еще один тип литералов - строка, являющаяся набором символов, заключенных в двойные кавычки:

"Это строковый литерал"

Кроме обычных символов строковые литералы могут содержать одну или несколько escape-последовательностей.

24

Пример:

using System;

class StrDemo

{

public static void Main()

{

Console.WriteLine("Первая строка.\nВторая строка.");

//Использование escape-последовательности \n

//для перехода на новую строку.

Console.WriteLine("A\tB\tC");

Console.WriteLine("D\tE\tF");

//Использование табуляции для выравнивания

//выводимых символов.

}

}

25

Переменные и их инициализация

Объявление переменных

Переменные объявляются с помощью оператора вида:

type var_name;

type - это тип переменной, var_name - имя.

Все переменные в C# должны быть объявлены до их использования.

Причина: компилятору нужно знать тип данных, которые содержит переменная, до того как начнет компилировать операторы, использующие эту переменную.

26

При создании переменной создается объект данных - экземпляр ее типа,

следовательно, возможности переменной определяются ее типом.

При объявлении переменной ее тип фиксируется и изменять его нельзя.

В C# определено несколько различных типов переменных.

Переменные в вышеприведенных примерах, называются локальными переменными, поскольку они объявлялись в области видимости метода.

27

Инициализация переменной

Для инициализации переменной можно присвоить ей значение

в отдельном операторе после ее объявления

или непосредственно при объявлении.

Статическая инициализация

Этот вид инициализации предполагает, что переменным присваиваются только конкретные значения (то есть значения, которые не были получены в

результате вычисления какого-либо выражения).

Синтаксис такого оператора инициализации имеет вид: type var_name = value;

value - значение, которое присваивается переменной во время ее создания. Оно должно быть совместимо с указанным типом.

28

Примеры инициализации:

int count = 10; // переменной задается начальное значение 10

char ch = 'X' // переменной присваивается символ X

float f = 1.2F; // переменной присваивается значение 1.2

int a, b = 8, c = 19, d;

// переменным b и c присвоено начальное значение

Динамическая инициализация

В C# можно инициализировать переменные и динамически, используя любое выражение соответствующего типа.

Ключевой момент: в выражении инициализации может быть использован любой элемент, который уже был до этого объявлен (то есть действительный на время инициализации данной переменной).

Таким элементом может быть метод, другая переменная или литерал.

Например:

double radius = 4, height = 5;

double volume = 3.1416 * radius * radius * height;

29

Область видимости и время жизни переменных

Все переменные, которые использовали до этого момента, объявлялись в начале метода Main().

Но в C# можно объявлять локальные переменные и внутри блока (блок начинается открывающейся фигурной

скобкой и заканчивается закрывающей фигурной скобкой).

Блок определяет область видимости, которая зависит от того, имеет ли данный блок вложенные блоки.

!!! каждый раз при создании блока создается новая область видимости, определяющая время жизни объявляемых переменных.

30

Наиболее важные области видимости в C# определяются

классом и методом.

Сначала рассмотрим область видимости, определяемую методом.

Область видимости, определяемая методом, начинается с открывающей фигурной скобки.

если этот метод имеет параметры, они также включаются в область видимости метода.

Общее правило: объявленная внутри области видимости переменная является невидимой (то есть недоступной) для кода, который определен за этой областью.

Следовательно, при объявлении переменной в пределах ее области видимости вы локализуете эту переменную и защищаете ее от неразрешенного доступа и модификации.

Поэтому правила, касающиеся области видимости, обеспечивают фундамент для инкапсуляции.

31