Урок 2. Перехватываем ошибки

Написано admin в 20 Июнь 2008 – 19:25 -


Урок 2. Перехватываем ошибки

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

Вот этим мы сейчас и займемся.

Для обработки ошибок в C# предусмотрен так называемый механизм исключений. Самое важное, что пока надо понять — это то, что исключения являются экземплярами классов. Все классы для исключений являются потомками класса System.Exception (либо класс исключения совпадает с самим классом System.Exception).

Раз исключения — это классы, то у них есть методы и свойства.

Исключения бывают как предопределенные (т. е. соответствующие классы уже существуют в системе .NET-классов), так и заданные программистом (в этом случае программист должен объявить собственные, производные от System.Exception классы).

Давайте изменим текст программы прошлого урока так, чтобы программы не вылетала с ошибкой, когда мы делим на ноль или вообще вводим не число. Вот текст нового обработчика щелчка на кнопке:

Read more »


Tags: , , , , , , ,
Находится в Windows и C# | No Comments »

Урок 46. Класс Environment

Написано admin в 14 Июнь 2008 – 16:27 -


Урок 46. Класс Environment

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

            string s;
            //Текущая папка.
            s=Environment.CurrentDirectory;
            Console.WriteLine("Текущая папка: {0}.", s);
            //Системная папка.
            s=Environment.SystemDirectory;
            Console.WriteLine("Системная папка: {0}.", s);
            //Имя компьютера.
            s=Environment.MachineName;
            Console.WriteLine("Имя компьютера: {0}.", s);
            //Oперационная система и ее версия.
            OperatingSystem os=Environment.OSVersion;
            Console.WriteLine("Операционная система: {0}, версия {1}.",
                os.Platform, os.Version);
            //Версия платформы .NET.
            Version ver=Environment.Version;
            Console.WriteLine("Версия платформы .NET: {0}.{1}.",
                ver.Major, ver.Minor);

Read more »


Tags: , , , , , , , , , , , , ,
Находится в Уроки C# | No Comments »

Урок 35. Введение в атрибуты

Написано admin в 14 Июнь 2008 – 16:18 -


Урок 35. Введение в атрибуты

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

Все атрибуты (в отличие, скажем, от атрибутов языка IDL) являются классами (потомками класса System.Attribute). В отличие от атрибутов IDL набор атрибутов .NET открыт для дополнения, т. е. вы можете определять собственные атрибуты и применять их к вышеуказанным элементам вашего кода. Read more »


Tags: , , , , , , ,
Находится в Уроки C# | No Comments »

C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).