25.07.2017 Views

Intro-CSharp-Book-v2015

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Търсене в символен низ – пример<br />

Глава 13. Символни низове 479<br />

Да разгледаме един пример за използване на метода IndexOf(…):<br />

string book = "<strong>Intro</strong>duction to C# book";<br />

int index = book.IndexOf("C#");<br />

Console.WriteLine(index);<br />

// Console output:<br />

// index = 16<br />

В примера променливата book има стойност "<strong>Intro</strong>duction to C# book".<br />

Търсенето на подниза "C#" в тази променлива ще върне стойност 16,<br />

защото поднизът ще бъде открит в стойността на отправната променлива и<br />

първият символ "C" от търсената дума се намира на 16-та позиция.<br />

Търсене с IndexOf(…) – пример<br />

Нека прегледаме още един, по-подробен пример за търсенето на отделни<br />

символи и символни низове в текст:<br />

string str = "C# Programming Course";<br />

int index = str.IndexOf("C#"); // index = 0<br />

index = str.IndexOf("Course"); // index = 15<br />

index = str.IndexOf("COURSE"); // index = -1<br />

index = str.IndexOf("ram"); // index = 7<br />

index = str.IndexOf("r"); // index = 4<br />

index = str.IndexOf("r", 5); // index = 7<br />

index = str.IndexOf("r", 10); // index = 18<br />

Ето как изглежда в паметта символният низ, в който търсим:<br />

str<br />

Stack<br />

string@821a48<br />

Heap<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21<br />

C # P r o g r a m m i n g C o u r s e<br />

Ако обърнем внимание на резултата от третото търсене, ще забележим, че<br />

търсенето на думата "COURSE" в текста връща резултат -1, т.е. няма намерено<br />

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

различен регистър на буквите. Методите IndexOf(…) и LastIndexOf(…) правят<br />

разлика между малки и главни букви. Ако искаме да игнорираме тази<br />

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

към текст с изцяло малки или изцяло главни букви, след което да извършим<br />

търсене в него, независещо от регистъра на буквите.

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

Saved successfully!

Ooh no, something went wrong!