C# tilida ma’lumotlar tiplari.
C# tili juda tiplashgan til hisoblanadi. Uni ishlatish paytida har bir o’zgaruv-chi obyektning tipini alohida e’lon qilish kerak (masalan, butun son, satr, oyna, tugma va h.z). Xuddi C++ va Java tillari kabi C# tilida ham 2 xil ma’lumotlar tipi mavjud: birinchi aniqlangan va xotirada til tomonidan avtomatik joylashtirilgan, ikkinchi dasturchi – foydalanuvchi tomonidan kiritiladigan va aniqlanadigan. C# ning ustun tomoni unda ma’lumotlar yana ikki turga bo’linadi: o’lchamli va yo’nalishli. Ularning asosiy farqi ma’lumotlarni xotirada joylashtirishidir. O’l- chamli tip o’zining aniq qiymatini stekka yozib qo’yadi, yo’nalishli tip esa bu stekka faqat qaysidir (o’zi aniqlaydigan) obyekt manzilini yozib qo’yadi, obyektning o’zi esa kuchada saqlanadi. Kucha – bu dastur saqlanadigan asosiy xotira bo’lib, unga murojaat qilish dastur tezligini biroz pasaytiradi. Lekin agar siz juda katta obyektlar bilan ishlayotgan bo’lsangiz, unda bu obyektni kuchada saqlashning bir muncha afzallik tomonlari bor.
Yaratilgan tiplar.
C# tilida yaratilgan tiplar va ularning o’lchamilari.
Tip
|
Qiymat oralig’i
|
O’lchami
|
sbyte
|
-128 to 127
|
Belgili 8-bit butun
|
byte
|
0 to 255
|
Belgisiz 8-bit butun
|
char
|
U + 0000 to U + 0000T
|
16-bitli Unicod
|
bool
|
true yoki false
|
1 bayt
|
short
|
-32768 to 32767
|
Belgili 16-bit butun
|
ushort
|
0 to 65535
|
Belgisiz 16-bit butun
|
int
|
-2147483648 to 2147483647
|
Belgili 32-bit butun
|
uint
|
0 to 4294967295
|
Belgisiz 32-bit butun
|
long
|
-9223372036854775808 to
9223372036854775807
|
Belgili 32-bit butun
|
ulong
|
0 to 18446744073709551615
|
Belgisiz 32-bit butun
|
float
|
-1.5*10^6 to 3.4 *10^7
|
4 баyт, aniqlik - 7 razryadli
|
double
|
-1.5*10^6 to 3.4 *10^7
|
8 баyт, aniqlik -16 razryadli
|
decimal
|
-5.0*10^3 2 4 to 1.7*10^308
|
12 баyт, aniqlik - 28 razryadli
|
Yaratilgan tiplarni o’zlashtirish.
Bir tipga tegishli bo’lgan obyektlar boshqa tipli obyektga oshkor yoki yashirin tarzda o’zlashtirilishi mumkin. Yashirin tarzda avtomatik o’zlashtirish bo’lib, uni kompyuter sizning o’rningizda amalga oshiradi. Oshkor o’zlashtirish faqatgina siz tomoningizdan berilgan qoida bo’yicha amalga oshadi. Yashirin o’zlashtirish ma’lumotlar yo’qolishini oldini oladi. Masalan: siz short tipidagi (2 bayt) axborotni int tipidagi (4 bayt) obyektga o’zlashtira olmaysiz, bunda axborot yo’qolishi bo’lishi mumkin. Lekin buni kompyuter avtomatik tarzda o’zlashtirganda hech qanday xatolik ro’y bermaydi.
Short x=1;
Int y = x ; // yashirin o’zlashtirish.
Agar siz aksincha almashtirishni amalga oshirsangiz, axborot yo’qolishiga olib keladi.
Kompilyator bunday o’zlashtirishni amalga oshirmaydi.
Short x ; Int y=5;
X=y; // Komplyatsiya amalga oshmaydi
Siz buning uchun oshkor almashtirishni amalga oshirishingiz kerak.
Short x; Int y; x=(short) y; // to’g’ri
O’zgaruvchilar.
O’zgaruvchi – xotiraning ma’lum bir qismini biror bir tipli axborot uchun ajratishdir. Yuqorida e’lon qilingan x va y lar o’zgaruvchilardir. O’zgaruvchilar inisializatsiya paytida (qiymat qabul qilish paytida) yoki dastur yordamida o’zgartirilishi mumkin.
O’zgaruvchilar qiymatini aniqlash.
O’zgaruvchini hosil qilish uchun siz o’zgaruvchining tipini va keyin esa uning nomini berishingiz kerak.Uning qiymatini e’lon qilish paytida yoki dastur davomida berishingiz mumkin. Masalan: a va b sonlarni yig’indisini s ga o’zlashtirish dasturini ko’ramiz.
using System; namespace _02_misol
{
class Program
{ static void Main(string[] args)
{
int a,b,s; a=2;b=3;s=a+b; Console.Write(“s=”+s); Console.ReadKey();
} } }
|