C# tili Unicode belgilar majmuasini qo‘llab-quvvatlaydi. Til kutubxonasida har bir guruh belgilari uchun maxsus funksiyalar to‘plami aniqlangan. Satr char turidagi belgilar massivi sifatida qaraladi va bu belgilar ketma-ketligi satr terminatori deb nomlanuvchi 0 kodli belgi bilan tugaydi (‘\0’). Odatda, nolterminator bilan tugaydigan satrlarni Unicede -satrlar deyiladi.
Kompyuterda odamlar tushunadigan matn va raqamlarni saqlash imkoniyatiga ega bo'lish uchun, belgilarni sonlarga aylantiradigan kod bo'lishi kerak. Unicode standarti bunday kodni belgili kodlash yordamida belgilaydi. Maxsus belgilar kodlash sxemasi bir kompyuterda yorqin tarzda ishlashi mumkin, ammo o'sha matnni boshqasiga yuborganingizda muammolar paydo bo'ladi.
Barcha belgilar kodirovkasi foydalanilishi mumkin bo'lgan har bir belgi uchun raqamni belgilaydi.
ASCII (ma'lumot almashish uchun Amerika standart kodi) birinchi keng tarqalgan kodlash sxemasi hisoblanadi. Lekin, faqat 256 ta belgilar bilan cheklangan. Bu eng keng tarqalgan inglizcha harflar, raqamlar va tinish belgilariga mos keladi, ammo butun dunyo uchun biroz cheklangan.
Tabiiyki, dunyoning qolgan qismi ham o'z belgilariga nisbatan bir xil kodlash sxemasini talab qilmoqda.
Keyinchalik dunyoning boshqa joylari ham o'zlarining kodlash sxemalarini yaratishga kirishdi. Qaysi kodlash sxemasidan foydalanishi kerakligini aniqlash uchun faqat turli xil uzunlikdagi kodlash sxemalari, dasturlari kerak edi.
Unicode standarti yaratilganda, yangi belgilar kodlash sxemasiga ehtiyoj sezildi.
Unicode ning maqsadi barcha turdagi kodlash sxemalarini birlashtirish, ya'ni kompyuterlar o'rtasidagi chalkashlik imkon qadar cheklangan bo'lishi mumkin.
Dasturlash nuqtai nazaridan string ma'lumot turi C# da eng muhim turlardan biridir. Ushbu tur belgilardan tuzilgan satrlarini aniqlaydi va qo'llab-quvvatlaydi. Boshqa bir qator dasturlash tillarida satr belgilar qatoridan iborat va C# da satrlar obyektlar hisoblanadi.
String oqimini yaratishda, kichik obyekt shakllanadi. Masalan, keyingi kod satrida:
Console.WriteLine("C# da satrlar obyektlardir.");
"C# da, satrlar obyektlardir." matnli satri C# yordamida avtomatik ravishda satr obyektiga aylantiriladi.
Belgilar satrini yaratishning eng oson usuli bu tom ma'nodagi satrdan foydalanishdir. Masalan, kodning navbatdagi satrida, str satriga murojaat qiladigan o'zgaruvchiga havola berilgan.
string str = "C# satrlari juda samarali";
Bunday holda, str o'zgaruvchi quyidagi belgilar ketma-ketligi bilan boshlanadi "C# satrlari juda samarali".
Obyekt turi string ham satr turi char dan yaratilishi mumkin. Misol uchun:
char[] ch = { 't', 'е', 's', 't' };
string str = new string(ch);
string turi obyekt yaratilgandan so'ng, uni qo'shtirnoq ichidagi matn satri kerak bo'lganda, u har bir joyda foydalanish mumkin.
Belgini (simvolni) saqlash uchun mo`ljallangan o’zgaruvchilarga belgili o’zgaruvchilar deyiladi. C# tilida bu o’zgaruvchilar uchun char toifasi keltirilgan. char toifasidagi o’zgaruvchi Unicede kodidagi belgilaridan ixtiyoriy birisi bo’lishi mumkin.
Belgili o’zgaruvchilarni e’lon qilish quyidagicha bo'ladi:
char c, s;
belgili o’zgaruvchilar apostraf ichida yoziladi. a=’q’; c=’*’; s=’/’;
char toifasini oshkor ravishda butun toifaga o'tkazish orqali, berilgan belgiga mos Unicede kodini aniqlash mumkin.
C# da satr deb - satr oxiri ('\0') belgisi bilan tugaydigan belgilar massiviga aytiladi. Demak C# da satr - birinchi belgiga o'rnatilgan ko'rsatkich ekan. Chunki massiv ham, birinchi elementiga o'rnatilgan ko'rsatkichdir.
Belgilarni qayta ishlovchi funksiyalar
Toifalarni o'zgartirish funksiyalari