Операторы языка C#

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


Операторы языка C#

Состав операторов языка C#, их синтаксис и семантика унаследованы от языка С++. Как и положено, потомок частично дополнил состав, переопределил синтаксис и семантику отдельных операторов, постарался улучшить характеристики языка во благо программиста. Посмотрим, насколько это удалось языку C#.

Оператор присваивания

Как в языке С++, так и в C# присваивание формально считается операцией. Вместе с тем запись:

X= expr;

следует считать настоящим оператором присваивания, так же, как и одновременное присваивание со списком переменных в левой части:

X1 = X2 = … = Xk = expr;

В отличие от языка C++ появление присваивания в выражениях C# хотя и допустимо, но практически не встречается. Например, запись:

if(x = expr)…

часто используемая в С++, в языке C# в большинстве случаев будет воспринята как ошибка еще на этапе компиляции.

В предыдущих лекциях семантика присваивания разбиралась достаточно подробно, поэтому сейчас я на этом останавливаться не буду. Read more »


Tags: , , , , , , , , , , , ,
Находится в Учебник | No Comments »

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

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


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

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

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

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

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

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

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

Read more »


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

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