25.07.2017 Views

Intro-CSharp-Book-v2015

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

638 Въведение в програмирането със C#<br />

int occurrences = 0;<br />

string line = reader.ReadLine();<br />

while (line != null)<br />

{<br />

int index = line.IndexOf(word);<br />

while (index != -1)<br />

{<br />

occurrences++;<br />

index = line.IndexOf(word, (index + 1));<br />

}<br />

line = reader.ReadLine();<br />

}<br />

Console.WriteLine(<br />

"The word {0} occurs {1} times.", word, occurrences);<br />

}<br />

}<br />

catch (FileNotFoundException)<br />

{<br />

Console.Error.WriteLine("Can not find file {0}.", fileName);<br />

}<br />

catch (IOException)<br />

{<br />

Console.Error.WriteLine("Can not read the file {0}.",<br />

fileName);<br />

}<br />

}<br />

За краткост в примерния код думата, която търсим, е твърдо зададена<br />

(hardcoded). Вие може да реализирате програмата така, че да търси дума,<br />

въведена от потребителя.<br />

Виждате, че примерът не се различава много от предишните. В него<br />

инициализираме променливите извън try-catch блока. Пак използваме<br />

while-цикъл, за да прочитаме редовете на текстовия файл един по един.<br />

Вътре в тялото му има още един while-цикъл, с който преброяваме колко<br />

пъти се среща думата в дадения ред и увеличаваме брояча на срещанията.<br />

Това става като използваме метода IndexOf(…) от класа String (припомнете<br />

си какво прави той в случай, че сте забравили). Не пропускаме да си<br />

гарантираме затварянето на StreamReader обекта използвайки using конструкцията.<br />

Единственото, което после ни остава да направим, е да изведем<br />

резултата в конзолата.<br />

За нашия пример резултатът е следният:<br />

The word C# occurs 3 times.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!