Amaliy mashg`ulot uchun Mundarija


Turi Qaysi turlarga o'tish xavfsiz?


Download 0.8 Mb.
bet15/56
Sana18.09.2023
Hajmi0.8 Mb.
#1680455
1   ...   11   12   13   14   15   16   17   18   ...   56
Bog'liq
Amaliy mashgulot sanoq sistema

Turi

Qaysi turlarga o'tish xavfsiz?

byte

short, ushort, int, uint, long, ulong, float, double, decimal

sbyte

short, int, long, float, double, decimal

short

int, long, float, double, decimal

ushort

int, uint, long, ulong, float, double, decimal

int

long, float, double, decimal

uint

long, ulong, float, double, decimal

long

float, double, decimal

ulong

float, double, decimal

float

double

char

ushort, int, uint, long, ulong, float, double, decimal




Boshqa hollarda, aniq turdagi o'zgarishlarni qo'llash kerak. Shuni ham ta'kidlash kerakki, ikkala juftlik ham, decimal ham Kesirli ma'lumotlarni saqlashi mumkin bo'lsa-da, decimal ham ikki barobar katta, ammo double ning qiymati aniq decimal turiga olib kelishi kerak:


double a = 4.0;
decimal b = (decimal)a;
Ma'lumotlarni yo'qotish va kalit so'z checker. Keling, boshqa vaziyatni ko'rib chiqaylik, masalan, keyingi holatda nima bo'ladi:
int a = 33;
int b = 600;
byte c = (byte)(a+b);
Natijada 121 raqami bo'ladi, shuning uchun 633 raqami b_yte turi uchun ruxsat etilgan diapazonga tushmaydi va katta bitlar qisqaradi. Natijada siz 121 raqamini olasiz. Shuning uchun, o'zgarishlarni hisobga olish kerak. Va bu holatda biz a va b raqamlarini olishimiz mumkin, bu summa 255 dan ortiq bo'lmagan raqamni beradi yoki biz byte o'rniga boshqa turdagi ma'lumotlarni tanlashimiz mumkin, masalan, int. Biroq, vaziyat boshqacha bo'lishi mumkin. A va b raqamlari qanday qiymatlarni aniq bilmasligimiz mumkin. va bunday vaziyatlardan qochish uchun c # da kalit so'z bor checked:
try
{
int a = 33;
int b = 600;
byte c = checked((byte)(a + b));
Console.WriteLine(c);
}
catch (OverflowException ex)
{
Console.WriteLine(ex.Message);
}
Kalit so'zni ishlatganda, tekshirilgan dastur toshib ketish istisnosini chiqaradi. Shuning uchun, bu holda uni qayta ishlash uchun try_catch dizayni ishlatiladi. Keyinchalik ushbu dizayn va istisnolarni qayta ishlashni batafsil ko'rib chiqamiz, ammo hozirgi vaqtda try blokida biz xato bo'lishi mumkin bo'lgan xatti-harakatlarni o'z ichiga olamiz va catch blokida biz xatoni qayta ishlaymiz.


Adabiyotlar

  1. Троелсен Эндрю, Джепикс Филипп | Язык программирования C# 7 и платформы .NET и .NET Core. Вильямс. 2018

  2. Madraximov Sh.F., Ikramov A.M. C++ tilida programmalash bo’yicha masalalar to’plami. O’quv qo’llanma // Toshkent, O’zbekiston Milliy Universiteti, “Universitet” nashriyoti, 2017. 160 bet

  3. Ю.С. Магда C#. Язык программирования Си Шарп. – Изд. ДМК Пресс, 2013, 190 с.

  4. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 4.0 и платформа .NET 4 для профессионалов. – Изд. Вильямс, 2011, 1440 с.




Download 0.8 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   56




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