C# Стринг
 

    Во C#, стринг е низа знаци што се користат за да претставуваат текст. Тоа може да биде збор или долг пасус опфатен со двојни наводници .

Пример: Стринг - низа од карактери

"С"
"String"
"Ova e string“.

C# обезбедува тип на податоци String за складирање на повеќе карактери во стринг. Променлива од типот на стринг може да се декларира и да и се додели било каков текст, како што е прикажано подолу.
Пример: Променливи на типот на стринг

стринг c = "S";
string zbor = "Tekst";
string tekst = "Ova e niza";

Максималната големина на објектот string во меморијата е 2 GB или околу 1 милијарда знаци. Сепак, практично ќе биде помалку во зависност од процесорот и меморијата на компјутерот.

Постојат два начина да се прогласи променлива на стрингот во C#. Користење класа System.String и користење клучен збор стринг. И двете се исти и не прават разлика.

Пример:

string str1 = "Zdravo"; // користи клучен збор стринг

String str2 = "Zdravo"; // користи класа System.String

Во C#, стрингот е збирка или низа знаци. Значи, низата може да се креира со помош на низа char или да се пристапи како низа char.


Пример: String како низа од карактери

char [] bukvi = {'Z', 'd', ​​'r', 'a','v', 'o'};

string str1 = new string (bukvi );
String str2 = new String (bukvi );

foreach (char c in str1)
{
Console.WriteLine (c);
}

Специјални карактери

Текстот во реалниот свет може да вклучува секој знак. Во C#, бидејќи стрингот е опкружен со двојни наводници, не може да вклучува " во низа. Следното ќе даде грешка во времето на компајлирање.
Пример: Неважечки стринг

string text = "Ova e" string " vo C#.";

C# вклучува escaping карактер \ (backslash) пред овие специјални знаци да се вклучат во низа.

Затоа се користи escaping карактер \ пред двојните наводници и некои специјални знаци како што се \, \ n, \ r, \ t, итн. за да  вклучите стринг во стринг.

Пример: Користење на специјален карактер \

string text = "Ova e \" string \ "vо C#.";
string str = "xyzdef \\ rabc";
string path = "\\\\ mypc \\ zaednicki \\ proekt";

Сепак, ќе биде многу досадно да се префиксира \ за секој посебен знак. Префиксирањето на низата со @ покажува дека треба да се третира  буквално и не треба да се испушти ниту еден знак.

Пример:  Escape секвенца

string str = @"xyzdef \ rabc";
string path = @"\\ mypc \ zaednicki \ project";
string еmail = @"test@test.com";

Користете @ и \ за да прогласите стринг со повеќе линии.

Пример: Стринг со повеќе линии

string str = @"ova sе \
povece linii \
vo string ";

Имајте во предвид дека мора да користите специјален знак escape (\) за да дозволите двоен наводник  " во стринг. @ е само за специјални знаци во C#.

string text = @"Ova e " string "vo C#."; // грешка
string text = @"Ova e \" string\ "vо C#."; // грешка
string text = "Ova e \" string\ "vо C#."; // валидно

Стринг конкатенација - спојување на стрингови

Може да се спојат повеќе стрингови со + оператор.

Пример: Спојување на стрингови

string name = "Mr." + "James" + "Bond" + ", sifra: 007";

string ime = "James";
string prezime = "Bond";
string sifra = "007";

string agent = "G-din." + ime + "" + prezime + ", sifra:" + sifra;

Стрингот е непроменлив во C#. Тоа значи дека е само за читање и не може да се промени откако ќе се создаде во меморијата. Секој пат кога спојувате stringovi, .NET CLR ќе создаде нова мемориска локација за споениот стринг. Значи, се препорачува да користите StringBuilder наместо стринг ако споите повеќе од пет стрингови.


Стринг интерполација


Интерполацијата со стрингови е подобар начин за спојување на стрингови. Ние користиме знак + за да ги споиме стрнг променливите со статични стрингови.

C# е мешавина од статички низи и променлив од типот  стринг каде стринг  променливите треба да бидат во {} загради.

Пример: Интерполација на стрингови

string ime = "Jamesејмс";
string prezime = "Bond";
string sifra = "007";

string celoime = $ "G-din. {ime} {prezime}, sifra: {sifra}";

Во горниот пример за интерполација, $ ја означува интерполиран стринг и {} служат за вклучување променлива од типот стринг што треба да се додаде на друг стринг.

Користете две држачи, "{{" или "}}" за да вклучите {или} во стринг.