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.

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

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

начин:<br />

Stack<br />

greet<br />

0x00122F680<br />

name<br />

0x003456FF<br />

result<br />

0x00AD4934<br />

Heap<br />

Hello,<br />

reader!<br />

Hello, reader!<br />

Обърнете внимание, че долепванията на низове не променят стойностите<br />

на съществуващите променливи, а връщат нова променлива като резултат.<br />

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

промените нямат да бъдат съхранени. Ето една типична грешка:<br />

string greet = "Hello, ";<br />

string name = "reader!";<br />

string.Concat(greet, name);<br />

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

не се съхранява никъде и се губи.<br />

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

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

ползваме следния код:<br />

result = result + " How are you?";<br />

За да си спестим повторното писане на декларираната по-горе променлива,<br />

можем да използваме оператора +=:<br />

result += " How are you?";<br />

И в двата случая резултатът ще бъде един и същ: "Hello, reader! How are<br />

you?".<br />

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

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

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

string message = "The number of the beast is: ";<br />

int beastNum = 666;<br />

string result = message + beastNum;

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

Saved successfully!

Ooh no, something went wrong!