Автоматическое преобразование типов

Управляющие последовательности символов

Управляющая последовательность Описание

\a Звуковой сигнал (звонок)

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

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

\n Новая строка (перевод строки)

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

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

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

\0 Пустой символ

\' Одинарная кавычка

\" Двойная кавычка

\\ Обратная косая черта

 

Например, в следующей строке кода переменной ch присваивается символ табу­

ляции.

ch = '\t';

А в приведенном ниже примере кода переменной ch присваивается символ оди­

нарной кавычки.

ch = '\'';

 

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

Строковый литерал представляет собой набор символов, заключенных в двойные кавычки.

Console.WriteLine(@"Это буквальный

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

занимающий несколько строк.

");

// Продемонстрировать применение буквальных строковых литералов.

using System;

class Verbatim

{

static void Main()

{

Console.WriteLine(@"Это буквальный

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

занимающий несколько строк.

");

Console.WriteLine(@"А это вывод с табуляцией:

1 2 3 4

5 6 7 8

");

Console.WriteLine(@"Отзыв программиста: ""Мне нравится С#.""");

}

}

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

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

char ch = 'X'; // инициализировать переменную ch буквенным значением X.

float f = 1.2F // переменная f инициализируется числовым значением 1,2.

int а, b =8, с = 19, d; // инициализировать переменные b и с

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

// Продемонстрировать динамическую инициализацию.

using System;

class DynInit

{

static void Main()

{

// Длина сторон прямоугольного треугольника,

double s1 = 4.0;

double s2 = 5.0;

// Инициализировать переменную hypot динамически,

double hypot = Math.Sqrt((s1 * s1) + (s2 * s2));

Console.Write("Гипотенуза треугольника со сторонами " +

s1 + " и " + s2 + " равна ");

Console.WriteLine("{0:#.###}.", hypot);

}

}

Неявно типизированные переменные:

Неявно типизированная переменная объявляется с помощью ключевого слова var и должна быть непременно инициализирована.

var е = 2.7183; // по умолчанию имеет тип double,

var е = 2.7183F; // е отнесена к типу float.

!!!одновременно можно объявить только одну неявно типи­зированную переменную. Поэтому объявлениеvar s1 = 4.0, s2 = 5.0; // Ошибка!

Преобразование и приведение типов:

int i;

float f;

i = 10;

f = i; // присвоить целое значение переменной типа float

Автоматическое преобразование типов

Когда данные одного типа присваиваются переменной другого типа, неявное преобразование типов происходит автоматически при следующих условиях:

• оба типа совместимы;

• диапазон представления чисел целевого типа шире, чем у исходного типа

!!!Помимо упомянутых выше ограничений, не допускается неявное взаимное преобразование типов decimal и float иди double, а также числовых типов и char или bool. Кроме того, типы char и bool несовместимы друг с другом.