Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr



Download 5,36 Mb.
Pdf ko'rish
bet74/335
Sana02.08.2021
Hajmi5,36 Mb.
#136132
1   ...   70   71   72   73   74   75   76   77   ...   335
Bog'liq
Dasturlash asoslari(O'zbekcha)

Oshkor tip almashtirish 
Ayrim  hollarda  tiplarni almashtirish oshkor tarzda amalga oshiriladi. Quyidagi 
oshkormas tip almashtirish hollarda xatolik yuzaga keladi: 
int ni short ga – ma’lumot yo‘qotilishi mumkin 
int ni uint ga – ma’lumot yo‘qotilishi mumkin 
uint ni int ga – ma’lumot yo‘qotilishi mumkin 
float ni int ga – ma’lumot yo‘qotilishi mumkin 
ixtiyoriy sonli tipni char tipiga - ma’lumot yo‘qotilishi mumkin 
decimal ni boshqa ixtiyoriy sonli tipga – o‘nli tip boshqacha tashkil qilinganligi 
bois, ma’lumot yo‘qotilishi mumkin. 
Bunday hollar uchun oshkor tip almashtirish qo‘llaniladi. Tipik sintaksisi 
quyidagicha: 
qabul_qiluvchi =(qabul_qiluvchi_tipi) ifoda; 
long
 a; 
int
 b; 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari                                                              1-semestr
 
 
61 
 
a = 2300; 
b = (
int
)a;  
Biror tip boshqasiga o‘tkazilganda, kompilyator ushbu amalni bajarishi lozim. 
long
 a; 
int
 b; 
a = 2300000000; 
b = (
int
)a; 
Console
.WriteLine(b); 
Mana shu  dastur qismi  bajarilganda ekranda  -1994967296 soni hosil bo‘ladi. 
Demak  bu  yerdan  ko‘rinib  turibdiki  tiplarni  almashtirganda  shu  tip  diapozoniga 
tushadigan qiymatlarni o‘tkazish zarur aks holda xatolik yuz beradi. C# tilida checked 
operatori mavjud bo‘lib, stekning holatini aniqlash mumkin ya’ni xatolik yuz bergani 
to‘g‘risida xabar beradi. 
long
 a; 
int
 b; 
a = 2300000; 
b = 
checked
((
int
)a); 
Tiplarni  almashtirish  xatoliklarni  hosil  qilishi  mumkinligini  inobatga  olib, 
xatoliklarni  qayta  ishlovchi  try...catch  konstruksiyasidan  foydalanish  ham  mumkin. 
Masalan: 
long
 a; 
int
 b; 
a = 2300000000; 
try
 { 
b = 
checked
((
int
)a); 
Console
.WriteLine(b); 

catch
 { 
Console
.WriteLine(
"Tiplarni almashtirganda xatolik yuz 
berdi"
); 

Quyidagi misolda suzuvchi  nuqtali tipni butun son tipiga almashtirilyapti: 
double
 d=10.23; 
int
 i; 
i = (
int
)(d + 2.4); 
 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari                                                              1-semestr
 
 
62 
 
Keyingi misolda ishorasiz butun son char tipiga o‘tkaziladi: 
ushort
 c = 38; 
char
 sym = (
char
)c; 
Console
.WriteLine(sym); 
Ekranga  ASCII  kodining  38-kodli  &  simvoli  chiqariladi.  Quyidagi  misolda 
decimal qiymat char ga o‘tkazilgan: 
decimal
 x = 105m; 
char
 sim = (
char
) x;  
      
Console
.WriteLine(sim);
// i harfi hosil bo‘ladi 
  char
 s = 
'i'

decimal
 d = (
decimal
) s;  
Console
.WriteLine(d);
// 105 qiymati qaytariladi
 
Agar  hosil  qilingan  natija,  yangi  tipga  o‘tkazilmasa,  tip  almashtirish  baribir 
amalga oshiriladi. Ammo natija kutilayotgan qiymatni qaytarmaydi. Masalan, 
int
 i = -1; 
char
 symbol = (
char
) i; 
 
 
Ushbu  tip  almashtirish  amalga  oshirilmasligi  lozim.  Ammo  natija  sifatida  ? 
simvoli qaytariladi.  
Agar  sonli  tipli  qiymatni  harfiy  tipga  o‘tkazish  lozim  bo‘lsa,  .NET  bibliotekasi 
klasslari  metodlaridan  foydalanish  lozim.  object  klassi  ToString()  metodiga  ega 
bo‘lib, ushbu amalni bajarish mumkin: 
int
 i = 10;  
string
 s = i.ToString(); 
Shuningdek,  harfiy  tipli  qiymatni  sonli  tipga  o‘tkazish  uchun  Parse() 
metodidan foydalaniladi: 
string
 s = 100; 
int
 i = int.Parse(s);  
Console.WriteLine(
i+50); 

Download 5,36 Mb.

Do'stlaringiz bilan baham:
1   ...   70   71   72   73   74   75   76   77   ...   335




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish