Nyelv c # 8

A C #-ban Char karakterosztály van a System.Char osztályon alapulva, és egy két byte Unicode karakter ábrázolás használatával. Ehhez a típushoz a szimbolikus állandókat a nyelv - szimbólum literálok határozzák meg. Megadhat egy állandó értéket:

- Egyetlen idézetbe foglalt karakter;

- egy escape szekvencia, amely meghatározza a karakterkódot;

- Unicode szekvencia, amely meghatározza a Unicode karakterkódot.

Három karakterváltozót inicializálunk olyan állandókkal, amelyek értékeit három különböző módon határozzuk meg. A változó ch az objektum stílusában jelenik meg, új és az osztály konstruktornak hívásával. A char típus, mint minden C # típus, egy osztály. Ez az osztály örökli az objektum osztály tulajdonságait és módszereit, és nagyszámú saját módszerrel rendelkezik.

A karakterláncok és a karakterláncok közötti explicit vagy implicit konverziók nem állnak rendelkezésre, de a ToString módszernek köszönhetően a char változók szabványos formában konvertálódnak a karakterlánc típusára. Amint fentebb megjegyeztük, implicit konverziók típusú char az egész számok típusaiban, kezdve a típusú ushort. Az integer típusok inverz konverziója a char típushoz is létezik, de már kifejezetten.

A TestChar eljárás eredményeképpen a karakterláncokra konvertált három karakter összekapcsolásával kapott stringek értéke BZX, a változó ch egyenlő A-val és kódja a 65 változó kód.

Többször is megjegyezték, hogy a hozzárendelési szemantika akkor érvényes, amikor hívási módszereket alkalmaznak, és a formális érvek helyébe lépnek. Itt két olyan eljárás létezik, amelyek egymást ellentétes műveleteket hajtanak végre: a szimbólumot kód szerint kapjuk, és a kódot a kódjához kapjuk:

Amint látja, az első eljárásban az egész típusba történő átváltás implicit. A második, az átalakulás egyértelmű. Az egyetemesség kedvéért enyhén bonyolult. A formális paraméter objektum-típus, amely lehetővé teszi, hogy az argumentumként adjon hozzá egy egész típusú típushoz tartozó kódot. Ennek ára két explicit konverzió szükséges.

Az Char osztály, mint minden C # osztály, örököli a szülőosztály objektum tulajdonságait és módszereit. De ő saját módszereivel és tulajdonságaival rendelkezik, és sokan vannak. E módszerek összefoglalása az 5. táblázatban található.

5. táblázat: Az Char osztály statikus módszerei és tulajdonságai

Olyan tulajdonságok, amelyek a maximális és a minimális kóddal visszaadják a karaktereket. A visszaküldött karaktereknek nincs látható képük

A legtöbb statikus módszer túlterhelt. Ezeket egy karakterre vagy egy karakterláncra lehet alkalmazni, amelyre a karakter számot kell alkalmazni a módszer alkalmazására. A fő csoport az Is módszer, amely rendkívül hasznos egy sztring feldolgozásakor. Olyan példákat adunk meg, amelyekben az alábbi módszerek közül sok használatos:

A módszer végrehajtásával generált konzol kimenet eredményeit a 2. ábrán mutatjuk be. 26.

Nyelv c # 8

26. ábra. Az osztály karakterének statikus módszereinek meghívása

A statikus módszerek mellett a Char osztály dinamikus is. Legtöbbjük a szülő osztály Object metódusai, amelyek örökölnek és újradefiniálják az osztály Char-ját. Saját dinamikus módszereitől érdemes megemlíteni a CompareTo módszert, amely lehetővé teszi a szimbólumok összehasonlítását. Eltér az Equal módszertől, mivel a nem illeszkedő karakterek esetében a karakterek között "távolság" keletkezik Unicode rendelésük szerint.

Az összehasonlítás eredményeit az 1. ábrán mutatjuk be. 27.

Nyelv c # 8

27. ábra. Karakter összehasonlítás

Ezeknek az eredményeknek az elemzése alapján meg lehetett érteni, hogy a latin ábécé és a cirill ábécé a Unicode kódolásban szorosan megteltek. Kivételt képez az "E" betű - a főváros és a kicsi - azok a sűrű kódolásból erednek. A kódolás kis betűi azonnal követik a nagybetűket. A kódolás ábécéi közötti távolság meglehetősen nagy - az orosz A betű 975 karakter a kódolás jobb oldalán, mint a latin ábécé megfelelő betűje.

Kapcsolódó cikkek