08. Karakterek - Stringek kezelése

Default book

Char - karakter típus

Elemi adattípus. A karaktereket a memóriában két byte-on azaz 16 biten tárolja a C#. Ezt unicode-nak hívják. A karaktertípusú változó értékét aposztrófok között (') kell megadni. pl.

char c;
char = 'a';

A (\) karakternek speciállis jelentése van. Az utána következő karakterjelet úgynevezett escape szekvenciának hívjuk. Az escape szekvenciák még abból az időből származnak, amikor a kimeneti egység a nyomtató volt csak, de később ezek általános konzolvezérlő karakterekkel és egyéb lehetőségekkel is bővültek.

\a - csipogás a számítógép hangszóróján keresztül
\b - backspace, azaz az előző karakter törlése
\f - soremelés (formfeed)
\r - kocsi vissza - az írófej menjen vissza a sor elejére
\n - új sor

Az új sor karakter kiküldése egy nyomtatóra a kocsi vissza és az új sor egymás utánjának felel meg.

\t - tabulátor karakter
\\ - maga a backslash karakter!
\' - aposztróf jel
\" - idézőjel
\? - kérdőjel
\uxxyy - xx és yy kódú unicode karakter (!)

Stringek - karaktersorozatok

A karakterssorozat olyan változótípus, amely véges számú karakterek egymás utánját tartalmazza. A string hossza egyes programozási nyelvekben meglehetősen korlátos, de a C# esetén a string lehetséges hossza 64 kb is lehet.

A System.String osztály segytségével lehet kezelni a stringeket, vagyis alapesetben tudjuk őket használni. A String osztály egy csomó függvényt (metódust) használ a stringekkel való műveletek végzésére. A stringek összefűzésére a + operátor és a += operátor is használható.

Ha a string érték elé @ jelet teszünk, akkor a stringben lévő speciális jel hatását ki tudjuk küszöbölni.

A stringeket felfoghatjuk egy dimenziós, karakterekből álló tömböknek is, amelyeknek az indexelése 0-val kezdődik és a string hossza -1 az utolsó indexelhető karakter. Ilyenkor az sorszámmal jelölt karaktert a [] jelek köött látjuk, mint a példákban is látható.

Példák:

char c   = '\u001b';
string s = "alma";               
string gyumolcs = "alma"+"körte"; //almakörte
s += "fa";                        // almafa
char c1     = s[2]; // c1= ’m’
char c2     = "szia"[1]; // c2=’z’
string f    = "c:\\programok\\alma.txt";
string file = @"c:\programok\alma.txt";

Néhány függvény a String osztályból:

Length() - a string hosszát adja vissza:

string f = "c:\\programok\\alma.txt";
int i    = f.Length();                     // i = 21 lesz

CompareTo() - Két stringet hasonlít össze és ha az eredmény 0, akkor a két string azonos, ha az eredmény negatív, akkor az egyik kisebb, ha pozitív, akkor a másik

string s = "első";
string p = "második";
int i    = s.CompareTo(p);    // i <0, tehát az s kisebb, mint a p változó

IndexOfString() - Visszadja, hogy az eredeti stringben hányadik a paraméterként megadott másik string.

string s = "Almafa";
string p = "fa";
int i    = s.IndexOf(p);    // i=4 lesz

A fentieken kívül még sok egyéb string metódus is van, amelyeket itt nem sorolok fel.