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.
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.
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.