Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 50

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 44 45 46 47 48 49 < 50 > 51 52 53 54 55 56 .. 320 >> Следующая

string
do {
Console.WriteLinet"Are you done? [yes] [no] : "); ans = Console.ReadLineO; )wh1le (ans !="yes"):
Результаты выполнения программ, которые были использованы в качестве примеров в этом разделе, представлены на рис. 2.14.
Код приложения Iterations можно найти в подкаталоге Chapter 2.
Средства управления логикой работы программ в С#
Помимо циклов в любом языке программирования предусмотрены средства для управления логикой работы программ — операторы исходного перехода. В С# этой цели предусмотрены две простые конструкции — If/else и switch,
106 Глава 2
Основы языка С#
Ш*1
ОЛ CSharpBook\Labs\thapter 2\Iterat.Gns\biri\Dc
Гомті 3 ' :um !>н с гі:їісі;г: and і =Ni-l re І г г.....
Here ¦ - - "; !''¦iii' iff ...
hnhhhkh h-h-hr*** hhhhhh h hh иmwhh-wl h-hh-h wm-h hhhh hh
DEUI ce = C:\UIN»OUS\HIKErt.SVS DEUI ce =C: SU1 Nl)OUS \ErtM3 8 6. EXE
REM To паке л DOS Boot Diskette; See the file C:\b
I irlirililllll j
doc=liig]i,umb buffers -4И
; RIIfOl ¦¦»¦(I: ir.v-c, :мгіііі5оііг,ч,Ьі ™-n. •: і,':; Ле;:|.п»ц:
rcn Tlie helnu DOS CD ROM «Viuer is not required to DEUI ce -c:\cdran\GakCdHon. KVJt /D: ІОЕСІ>ЙИ0
fti-D you done? [yes] [no 1 : 1 ft ев you done? [yes ] [no ] : no
fti-e (yuu domse? [yes] |ttt©] = 1*4.-11(1
rti-e уші Anne? [tesBll [|гюП :: yoss
Ргєїїї any key tp cuntinue
Рис. 2.14. Результаты работы программ с циклами
Конструкция /el se — старинный друг любого программиста. Однако если вы привыкли к особенностям этой конструкции в С и C++, вам необходимо будет освоиться с некоторыми особенностями этой конструкции в С#. В С# конструкция і f/el se работает только с логическими выражениями (true и f al se), и поэтому старые трюки, в которых использовались значения О, -1, и прочие уже не проходят. В С# в конструкции If/else обычно используются операторы, представленные в табл. 2.5.
Таблица 2.5. Операторы сравнения в С#
Оператор С# Пример использования Назначение
if (age = = 30) Возвращает "true", если два выражения равны
if("Foo" != myStr) ІВозвращает "true", если два выражения не равны
< if (bonus < 2000) Возвращаем если выражение слева меньше
> if (bonus > 2000) !Возвращает "true", если выражение слева больше
<= if (bonus <= 2000) Возвращает если выражение слева меньше или равно выражению справа
>= if (bonus >= 2000) Возвращает если выражение слева больше или равно выражению справа
Программистам, привыкшим к С и С++, необходимо помнить; то, что не равно 0 — не является true для конструкции if/else в С#. Например, такой привычный код приведет к ошибке компилятора С#:
// Такой коя не пройдет, так как свойство Length возвращает значение типа int. // а не bool
string thoughtOfTheOay = "You CAN teach an old dog new tricks": if (thoughtOfTheUay.Length) // Ошибка! t
// Код на условие
)
Средства управления логикой работы программ в 107
Исправить код таким образом, чтобы он нормально работал в С# и выполнял определенное действие тогда, когда длина і г о u g 11L 0 і T І'і е D з у н с равна нулю, просто — например, вот так:
// Теперь проблем не будет
if (0 !=thoughtOfTheDay. Length) // Такое выражение разрешается в "true" или "false" {'
// Кой на условие
!
Условия для выражения 1 f могут быть весьма сложными. В них часто используются операторы, представленные в табл. 2.6.
Таблица 2.6. Операторы для условий в
Оператор С# Пример Назначение
&& if((age = = 30) (name = = "Fred")) Соответствует логическому И (AND)
|| if ((age = = 30) И (name = = Соответствует логическому ИЛИ (OR)
! if Соответствует логическому НЕ (NOT)
Конечно же, в С# есть и выражение е 1 s е, которое используется для указания кода, который должен быть выполнен, если условие для і f оказалось ложным, Синтаксис конструкции i f/ е 1 s e в С# идентичен синтаксису C++ и Java и не очень отличается от синтаксиса, принятого в Visual Basic.
Второе средство для управления логикой выполнения программы в С# — это конструкция switch. Эта конструкция позволяет вам управлять ходом выполнения программы, основываясь на заранее заготовленных вариантах. Предположим, что наша программа должна попросить пользователя ввести одно из трех возможных значений и в зависимости от этого выбрать один из вариантов возможных действий:
/7 Пример применения конструкции "switch" class Selections
{
static im МйіііізїппоП args)
{
Console.Wr і teLine("Welcome to the world of .NET"): Console.WnteLinen = C#\n2 = Managed C++ (MC++)\n3 = VB.NET\n"); Console.WriteC'Please select your implementation language:"); string s = Console. ReadLineC);
II Все встроенные типы данных поддерживают статический метод ParseO int n - int.Parse(s):
switch(n) І
II C# требует, чтобы каждый вариант (включая "default" -
//по умолчанию), в котором предусмотрены команды для выполнения, // содержал выражение выхода "break" или "goto" case I:
Console,WriteLineCGood choice! C# is all about managed
code.");
break:
case 2:
Console.WhteLineCLet me guess, maintaining a legacy system?");
108 Глава 2 Основы языка С#
Предыдущая << 1 .. 44 45 46 47 48 49 < 50 > 51 52 53 54 55 56 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100