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

 

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

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

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

// Определив класс как абстрактный, мы тек саным запрещаем пользователю создавать экземпляры этого класса, abstract class MyConstants і
Il Некоторые константы
public const int mylntConst = 5;
public const string myStringConst = "I'm a const";
}
В любом случае при попытке создать экземпляр класса MyConstants коми илятор выдаст сообщение об ошибке. Использование специального класса для хранения всех констант представляется особенно полезным в свете того, что С# не позволяет определять глобальные константы.
Последнее, что необходимо добавить: в С# (в отличие от C++) нельзя использовать ключевое слово const как часть объявления метода.
Код приложения Constants можно найти в подкаталоге Chapter 2.
Циклы в С#
В любых языках программирования существуют конструкции, которые позволяют выполнять блок кода до тех пор, пока не будет выполнено определенное условие. Вне зависимости от того, из какого языка программирования вы приходите в мир С#, вы в любом случае обнаружите много знакомого. В С# предусмотрез. ю четыре конструкции для работы с циклами:
• for;
• foreach/in;
• while;
• do/while.
Программисты, использующие С, С++ и Java, без сомнения, знакомы с конструкциями for, wh Л е и do/whi 1 е, однако в этих языках нет конструкции foreach. Программисты, использующие Visual Basic, находятся в более выигрышном положении — им знакома и эта конструкция. Сейчас мы бегло рассмотрим каждую из
четырех конструкций С# для работы с циклами. Выражение for
Если точно известно, сколько раз необходимо выполнить блок кода, конструкция for — это конструкция для чемпионов. По существу мы указываем, сколько раз блок кода должен выполнить сам себя в качестве условия выхода из цикла. Все очень просто:
public static int Haimslringu arcs) {
II Обратите Внимание! Переменная "І" видима только внутри конструкции "for"
for(int і - 0: і < 10: і++}
104 Глава 2 • Основы языка С#
{
Console. WriteLine С "Number is: {0}". 1);
}
// А здесь переменная уже невидима, return 0;
}
Все старые трюки с циклами из С, C++ и Java будут работать и в С#. Вы можете ставить сложные условия на прерывание цикла, создавать бесконечные циклы и использовать ключевые слова goto, continue и break.
Выражение foreach/in
Visual Basic, уже знакомы с преимуществами конструкции ;"cr" Each. Ее эквивалент в С# позволяет последовательно обрабатывать все элементы массива. Ниже представлен простой пример, в котором конструкция foreach используется для просмотра всех элементов массива символьных строк в поисках совпадений с выражениями СОМ или , NET1
// Обрабатываем все элементы нассива, используя "foreach"
public static int Main(string[] args)
\
string[] = new String[] {Xomp lex Algorithms''.
"COM for the Fearful Programmer",
"Do you Remember Classic COM?", "C# and the .NET platform", "COM for the Angry Engineer"}:
int COM - 0. NET - Q;
И Считаем, что книг по СОМ и .NET (охватыващих оба предмета) пока не существует
foreach (string s in arrBookTitles)
{
if (-1 != s.IndexOfC'COM")) COM++;
else ifM !- s.IrxtexCfr.Nr")} NET++:
}
Console.Wh teLine( "Found {0} COM references and {1} ,NET references.", COM, NET); return 0:
}
Помимо обработки всех элементов простых массивов, конструкцию foreach можно также использовать для работы с встроенными или пользовательскими коллекциями. В главе 4 мы познакомимся с возможностями этой конструкции для программирования с использованием интерфейсов, а в особенности - при работе со встроенными интерфейсами IEnumerator и IEnumerable.
Выражения while и do/while
Конструкция for — самая удобная в тех ситуациях, когда вы точно знаете, сколько раз необходимо выполнить определенное действие. Если же вам точно неизвест-сколько раз может потребоваться выполнение блока кода, гораздо удобнее конструкции whi 1 е и do/whi 1 е.
Средства управления логикой работы программ в С# 105
Для того чтобы проиллюстрировать работу цикла с этими конструкциями, мы используем возможности С# в отношении работы с файлами (этой теме полностью посвящена глава ¦ 1). Для считывания информации из файлов в С# предусмотрен класс StreamReader, определенный внутри пространства имен System .10. Обратите внимание, что экземпляр класса StreamReader создается как значение, возвращаемое статическим методом После открытия файла вы
обработать каждую его строку (то есть вывести ее на консоль) с использованием метода
try // Это на тот случай, если файла ¦¦ і : ¦ ¦ на честе не окажется {
// Открываем файл config.win
StreamReader strReader = Fi 1 е.OpenTextt"C:\config.win"}:
// Считываем каждую строку и выводим ее на консоль string strtine:
whiletnull != (strLine = strReader. ReadLi neu)); (
Console.WriteLine{strLine);
}
II Файл необходимо закрыть
strReader.Close();
)
catchfFi 1 eltoUoundtxception е) // Про исключения расой гано в глазе 3
{
Console.WriteLineCe.Message);
}
Конструкция do/whi 1 е очень похожа Hawhi 1 е. Единственное отличие заключается в том, что при использовании oo.'wn 1 е мы гаратируем,что соответствующ: т ¦блок кода будет выполнен по крайней мере один раз (в обычном варианте whi 1 е это совсем не гарантируется — например, в тех ситуациях, когда условие на продолжение цикла ложно с самого начала). Пример программного кода, в котором зуется do/while, представлен ниже.
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100