Опубликован: 25.03.2010 | Уровень: для всех | Доступ: платный
Лекция 4:

Типы данных C#

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

В строковых литералах применяются управляющие последовательности.

  • \a - звуковой сигнал
  • \b - возврат на одну позицию
  • \f - прогон страницы
  • \n - новая строка
  • \r - возврат каретки
  • \t - горизонтальная табуляция
  • \v - вертикальная табуляция
  • \0 - нуль-символ
  • \' - одинарная кавычка
  • \" - двойная кавычка
  • \\ - обратный слэш

Буквальный строковый литерал

Строковый литерал можно сделать буквальным ( verbatim - дословный), если перед открывающей кавычкой поставить символ @. Содержимое строки не интерпретируется и может быть многострочным. Но если внутри строкового литерала используется символ ", то его нужно заэкранировать таким же символом. Управляющие символы в такой строке не действуют.

using System;
    
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            // Настройка консоли
            Console.Title = "Буквальный строковый литерал";
            Console.ForegroundColor = ConsoleColor.White;
            Console.CursorVisible = false;
    
            // Буквальный строковый литерал
            string str;// Локальная переменная не инициализируется
            str =
@"Привет всем от \n
    Иванова
    Петрова
    Сидорова
    ""Фантомаса""
\t...............
    
и от многих других";
    
            Console.WriteLine(str);
    
            Console.ReadLine();
        }
    }
}
Листинг 4.2. Буквальный строковый литерал

Приведение типов литералов

С литералами можно обращаться как с переменными соответствующих типов (не забывая, что это константы), например, приводить литерал к другому типу или использовать методы типов, наследуемые от ValueType/Object. При приведении типа литерала к родственному типу переменной соблюдаются те же правила, что и при приведении типов переменных. Если тип переменной имеет количество байт для хранения ее значений, способный уместить максимальное значение литерала без потери данных, то его можно приводить неявно. В противном случае нужно указать оператор явного приведения типов.

using System;
    
namespace Test
{
    class Program
    {
        static void Main()
        {
            // Настройка консоли
            Console.Title = "Приведение простых типов";
            Console.ForegroundColor = ConsoleColor.White;
    
            double a = 11.1f;// Неявное приведение малого к большому
            float b = (float)11.1d; // Явное приведение большого к малому
            float c = (int)11;// Неявное приведение целого к вещественному
            long d = (short)11; // Неявное приведение короткого к длинному
    
            string str = "";// Локальная переменная
            str += a.ToString() + "\t"
                 + b.ToString() + "\t"
                 + c.ToString() + "\t"
                 + d.ToString() + Environment.NewLine
            // Литералы - те же простые типы
            // и имеют соответствующие методы
            + (11.1f).ToString() + "\t"
            + (11.1d).ToString() + "\t"
            + (11).ToString() + "\t"
            + ((short)11.1f).ToString();
            Console.WriteLine(str);
    
            Console.WriteLine("\nВведите вещественное число");
            Console.Write("(дробная часть через запятую): ");
            str = Console.ReadLine();
            try
            {
                float f = Convert.ToSingle(str);// Преобразование к float
                Console.WriteLine("Вы ввели число: {0}", f);
                int x = (int)f;
                float y = f - x;
                Console.WriteLine("\nЦелая часть числа: {0}", x);
                Console.WriteLine("Дробная часть числа: {0}", y);
            }
            catch
            {
                Console.WriteLine("Вы ввели не число");
            }
    
            Console.ReadLine();
        }
    }
}
Листинг 4.3. Приведение простых типов

Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.

 

Как активировать код?

Денис Пашков
Денис Пашков
Россия
Татьяна Ковалюк
Татьяна Ковалюк
Украина, Киев, Киевский политехнический институт, 1974