Главная страница
Навигация по странице:

  • Exception

  • Лекция 3. Лекция 3. Переменные, операции, выражения


    Скачать 103.61 Kb.
    НазваниеЛекция 3. Переменные, операции, выражения
    АнкорЛекция 3
    Дата12.02.2022
    Размер103.61 Kb.
    Формат файлаdocx
    Имя файлаЛекция 3.docx
    ТипЛекция
    #359276
    страница3 из 6
    1   2   3   4   5   6

    Внимание


    Арифметические операции не определены для более коротких, чем int, типов. Это означает, что если в выражении участвуют только величины типов sbyte, byte, short иushort, перед выполнением операции они будут преобразованы в int. Таким образом, результат любой арифметической операции имеет тип не менее int.

    Правила неявного преобразования иллюстрирует рис. 3.2. Если один из операндов имеет тип, изображённый на более низком уровне, чем другой, то он приводится к типу второго операнда при наличии пути между ними. Если пути нет, возникает ошибка компиляции.
    Рис. 3.2. Неявные арифметические преобразования типов

    Введение в исключения



    При вычислении выражений могут возникнуть ошибки, например, переполнение, исчезновение порядка или деление на ноль. В C# есть механизм, который позволяет обрабатывать подобные ошибки и таким образом избегать аварийного завершения программы. Он так и называется: механизм обработки исключительных ситуаций(исключений).
    Если в процессе вычислений возникла ошибка, система сигнализирует об этом с помощью специального действия, называемого выбрасыванием(генерированием) исключения. Каждому типу ошибки соответствует своё исключение. Поскольку C# – язык объектно-ориентированный, исключения являются классами, которые имеют общего предка – класс Exception, определённый в пространстве имён System.
    Например, при делении на ноль будет сгенерировано исключение DivideByZeroException, при недостатке памяти – исключение OutOfMemoryException.
    Программист может задать способ обработки исключения в специальном блоке кода, начинающемся с ключевого слова catch ("перехватить"), который будет автоматически выполнен при возникновении соответствующей исключительной ситуации. Внутри блока можно, например, вывести предупреждающее сообщение или скорректировать значения величин и продолжить выполнение программы. Если этот блок не задан, система выполнит действия по умолчанию, которые обычно заключаются в выводе диагностического сообщения и нормальном завершении программы. Обработка исключений подробно рассматривается позже.


    Справочная информация: Основные операции C#




    Инкремент и декремент



    Операции инкремента (++) и декремента (--) увеличивают и уменьшают операнд на единицу. Они имеют две формы записи – префиксную, когда знак операции записывается перед операндом, и постфиксную. В префиксной форме сначала изменяется операнд, а затем его значение становится результирующим значением выражения, а в постфиксной форме значением выражения является исходное значение операнда, после чего он изменяется.

    Стандартные операции инкремента существуют для целых, символьных, вещественных и финансовых величин.


    Операция new



    Операция new служит для создания нового объекта. Формат операции:

    newтип ( [ аргументы ])

    С помощью этой операции можно создавать объекты как ссылочных, так и значимых типов, например:
    object z = new object();

    int i = new int(); // то же самое, что int i = 0;
    При выполнении операции new сначала выделяется необходимый объем памяти (для ссылочных типов в хипе, для значимых – в стеке), а затем вызывается так называемый конструктор по умолчанию, то есть метод, с помощью которого инициализируется объект. Переменной значимого типа присваивается значение по умолчанию, которое равно нулю соответствующего типа.
    1   2   3   4   5   6


    написать администратору сайта