Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 1447 / 158 | Оценка: 4.31 / 4.00 | Длительность: 25:42:00
Лекция 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. Ввожу код на сайте, пишет:

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

 

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