C vs C#

6. DRUGAČIJE nego u C

6.2. Stringovi u C#

jeziku C#, tip string (alijas tipa System.String) predstavlja nepromenljivu sekvencu Unicode znakova. Literal tipa string zadaje se unutar navodnika:

string a = “Heat”;
string je referentni tip a ne vrednosni. Međutim, njegovi operatori jednakosti slede semantiku vrednosnih tipova:

string a = “test”, b = “test”;
Console.Write (a == b); // True
Za kreiranje stringa u programskom jeziku C# koristi se .NET klasa Object.String pa se ključna reč string u stvari odnosi na klasu System.String

// Deklarisanje bez inicijalizacije.
string tekst1;
// Inicijalizacija na null.
string tekst2 = null;
// Inicijalizacija na prazan string.
// Koristi Empty umesto "".
string tekst3 = System.String.Empty;
//Inicijalizacija konstantnim stringom
string putanja= "c:\\Program Files\\Microsoft Visual Studio 8.0";
// System.String 
System.String zdravo = "Hello World!";
// Implicitna deklaracija
var temp = "I'm still a strongly-typed System.String!";
// Korišćenjem String konstructora
char[] letters = { 'A', 'B', 'C' };
string alphabet = new string(letters);
Operator + nadovezuje dva znakovna niza. Jedan od operanada ne mora biti znakovni niz.

string s = “a” + “b”;
string s = “a” + 5; // a5

Tip string ne podržava operatore poređenja < i >. Umesto njih morate koristiti metodu CompareTo tipa string, koja vraća pozitivan broj, negativan broj ili nulu, zavisno od toga da li je prva vrednost po redosledu iza, ispred ili na mestu druge vrednosti.
Metode IndexOf i LastIndexOf traže znak unutar zadatog znakovnog niza. Metode Contains, StartsWith i EndsWith traže podniz u zadatom znakovnom nizu.
Pošto je tip string nepromenljiv, sve metode koje „manipulišu“ znakovnim nizom vraćaju nov niz, ostavljajući originalni nedirnut:
• Substring izdvaja deo znakovnog niz
• Insert umeće znakove na zadato mesto, a Remove ih uklanja odatle.
• PadLeft i PadRight dodaju beline.
• TrimStart, TrimEnd i Trim uklanjaju beline.

Klasa string definiše i metode ToUpper i ToLower za promenu malih slova u velika i obrnuto, metodu Split koja deli znakovni niz na podnizove (na osnovu zadatih graničnika), i statičku metodu Join – za ponovno spajanje podnizova u znakovni niz.