Fizika-matematika fakulteti “amaliy matematika va informatika yo’nalishi” mavzu


Convert sinfining ba’zi konversiya usullar



Download 63,14 Kb.
bet3/5
Sana04.06.2022
Hajmi63,14 Kb.
#636054
1   2   3   4   5
Bog'liq
19.08A guruh talabasi B.Imomaliyeva

Convert sinfining ba’zi konversiya usullar


Asosiy turlar orasidagi konversiyani qo'llab-quvvatlashdan tashqari, Convert usuli har qanday moslashtirilgan turni istalgan tayanch turiga o'tkazishni qo'llab-quvvatlaydi. Buning uchun maxsus tip IConvertible interfeysini amalga oshirishi kerak , bu amalga oshiruvchi turini har bir baza turiga o'tkazish usullarini belgilaydi. Muayyan turdagi qo'llab-quvvatlanmaydigan konversiyalar InvalidCastException-ni tashlashi kerak .
Qachon ChangeType usuli birinchi parametr, yoki maxsus turini o'tgan bo'lsa Convert.Toturi kabi usul ( Convert.ToUInt32 (ob'ektni) yoki Convert.ToDouble (ob'ektni, IFormatProvider) deb nomlangan va uning birinchi bo'lib maxsus turiga misol uzatiladi parametrida, aylantirish usuli, o'z navbatida, konvertatsiyani amalga oshirish uchun odatiy turdagi IConvertible dasturini chaqiradi . Qo'shimcha ma'lumot olish uchun .NET-dagi Konversiyani ko'ring .
Madaniyatga xos formatlash to'g'risidagi ma'lumotlar
Barcha asosiy turdagi konvertatsiya usullari va ChangeType usuli IFormatProvider tipidagi parametrga ega bo'lgan ortiqcha yuklarni o'z ichiga oladi . Masalan, Convert.ToBoolean usuli quyidagi ikkita ortiqcha yuklarga ega:
Convert.ToBoolean (Ob'ekt, IFormatProvider)
2.2.Convert.ToBoolean (String, IFormatProvider)
IFormatProvider parametr aylantirish jarayonini yordam uchun madaniyat-maxsus formatlash ma'lumotlarni taqdim etishi mumkin. Biroq, asosiy turdagi konvertatsiya qilish usullarining aksariyati unga e'tibor bermaydi. U faqat quyidagi bazaviy turdagi konversiya usullari bilan qo'llaniladi. Agar nullIFormatProvider argumenti ushbu usullarga o'tkazilsa, joriy oqim madaniyatini ifodalovchi CultureInfo ob'ekti ishlatiladi.
Qiymatni raqamli turga o'tkazadigan usullar bo'yicha. IFormatProvider parametr turi parametrlarini ega haddan tashqari tomonidan ishlatiladi string va IFormatProvider . Shuningdek, u ob'ektning ishlash vaqti turi String bo'lsa, u Object va IFormatProvider turlarining parametrlariga ega bo'lgan ortiqcha yuk bilan ishlatiladi .
Qiymatni sana va vaqtga o'zgartiradigan usullar bo'yicha. IFormatProvider parametr turi parametrlarini ega haddan tashqari tomonidan ishlatiladi string va IFormatProvider . Bundan tashqari, agar ob'ektning ish vaqti turi String bo'lsa, u Object va IFormatProvider turlarining parametrlariga ega bo'lgan ortiqcha yuk bilan ishlatiladi .
Tomonidan Convert.ToString bir o'z ichiga haddan tashqari IFormatProvider bir parametr va dinga ham bir satrlari soni bir qiymat yoki DATETIME bilan mag'lubiyatga qiymatini.
Biroq, IConvertible-ni amalga oshiradigan har qanday foydalanuvchi tomonidan belgilangan tur IFormatProvider parametridan foydalanishi mumkin .
Base64 kodlash
Base64 kodlash ikkilik ma'lumotlarni mag'lubiyatga aylantiradi. 64-raqamli raqam sifatida ko'rsatilgan ma'lumotlar faqat 7-bitli belgilarni uzatadigan ma'lumotlar kanallari orqali osongina uzatilishi mumkin. Convert sinf qo'llab-quvvatlash Base64 kodlaması uchun quyidagi usullarini o'z ichiga oladi: usullar majmui va bir bayt bir qator konvertatsiya qo'llab-quvvatlash , string yoki va BASE64 raqamli belgi ichiga Unicode belgilar bir qator kelgan.
Baytlar qatorini base64 kodlangan qatorga o'zgartiradigan ToBase64String .
Baytlar qatorini base64 kodlangan belgilar qatoriga o'zgartiradigan ToBase64CharArray .
Base64 bilan kodlangan qatorni baytlar qatoriga o'zgartiradigan FromBase64String
Base64 kodlangan belgilar qatorini baytlar qatoriga o'zgartiradigan FromBase64CharArray .
Boshqa umumiy konversiyalar
Convert sinfining statik usullari qo'llab-quvvatlamaydigan ba'zi konversiyalarni amalga oshirish uchun NET Framework-ning boshqa sinflaridan foydalanishingiz mumkin . Bunga quyidagilar kiradi:
Bayt massivlariga o'tkazish BitConverter klassi ibtidoiy raqamli turlarni (shu jumladan, mantiqiy ) baytlar qatoriga va baytlar qatoridan ibtidoiy ma'lumotlar turlariga o'tkazadigan usullarni taqdim etadi .
Belgilarni kodlash va dekodlash Kodlash klassi va undan olingan sinflar (masalan, UnicodeEncoding va UTF8Encoding ) belgilar qatorini yoki satrini kodlash usullarini (ya'ni ularni ma'lum bir kodlashda baytlar qatoriga aylantirish) va kodlangan baytni dekodlashni ta'minlaydi. array (ya'ni baytlar qatorini UTF16 kodlangan Unicode belgilariga qaytarish. Qo'shimcha ma'lumot uchun .NET-dagi Belgilar kodlash- ga qarang .
Maydonlar

Maydonlar

DBNull

Ma'lumotlar mavjud bo'lmagan ma'lumotlar bazasi ustunini aks ettiruvchi doimiy; ya'ni ma'lumotlar bazasi bekor.

Usullari

Usullari

O'zgartirish turi (ob'ekt, tur)

Belgilangan turdagi va qiymati belgilangan ob'ektga teng bo'lgan ob'ektni qaytaradi.

O'zgartirish turi (ob'ekt, tur, IFormat provayderi)

Qiymati belgilangan ob'ektga teng bo'lgan belgilangan turdagi ob'ektni qaytaradi. Parametr madaniyatga xos formatlash ma'lumotlarini etkazib beradi.

O'zgartirish turi (ob'ekt, turdagi kod)

Qiymati belgilangan ob'ektga teng bo'lgan belgilangan turdagi ob'ektni qaytaradi.

O'zgartirish turi (ob'ekt, turdagi kod, IFormat provayderi)

Qiymati belgilangan ob'ektga teng bo'lgan belgilangan turdagi ob'ektni qaytaradi. Parametr madaniyatga xos formatlash ma'lumotlarini etkazib beradi.

From Base64Char Array (CHAR [], Int32, Int32)

Ikkilik ma'lumotlarni bazaviy-64 ta raqam sifatida kodlaydigan Unicode belgilar qatorining ichki qismini 8-bitli belgisiz tamsayılar qatoriga o'zgartiradi. Parametrlar kirish qatoridagi ichki to'plamni va konvertatsiya qilinadigan elementlarning sonini belgilaydi.

From Base64String (string)

Ikkilik ma'lumotlarni bazaviy 64 raqam sifatida kodlaydigan belgilangan satrni ekvivalent 8-bit imzosiz butun sonli qatorga o'zgartiradi.

From Hex string (o'qing Faqat keng tarqalishi )

Ikkilik ma'lumotlarni olti burchakli belgilar sifatida kodlaydigan oraliqni ekvivalent 8-bit imzosiz butun sonli qatorga o'zgartiradi.

From Hex satrlari (string)

Ikkilik ma'lumotni olti burchakli belgilar sifatida kodlaydigan belgilangan satrni ekvivalent 8-bit imzosiz butun sonli qatorga o'zgartiradi.

Oling turi Code (ob'ektni)

Belgilangan ob'ekt uchun TypeCode-ni qaytaradi .

Ish DBNull (ob'ektni)

Belgilangan ob'ekt DBNull turiga kiradimi yoki yo'qligini ko'rsatib beradi .

Uchun Base64Char Array (baytda [], Int32, Int32, Char [], Int32)

8-bit imzosiz butun sonli massivning pastki qismini 64-raqamli raqamlar bilan kodlangan Unicode belgilar qatorining ekvivalent pastki qismiga o'zgartiradi. Parametrlar kirish va chiqish massivlarida subsetlarni va konvertatsiya qilinadigan kirish massividagi elementlarning sonini belgilaydi.

Ba'zi bir mos yozuvlar turidagi konversiyalarda kompilyator gipsning haqiqiyligini aniqlay olmaydi. To'g'ri kompilyatsiya qilingan quyma operatsiyani bajarish vaqtida ishlamay qolishi mumkin. Quyidagi misolda ko'rsatilgandek, ish paytida muvaffaqiyatsiz tugagan turi, InvalidCastException tashlanishiga olib keladi.
C #Nusxalash
class Animal
{
public void Eat() => System.Console.WriteLine("Eating.");

public override string ToString() => "I am an animal.";


}

class Reptile : Animal { }


class Mammal : Animal { }

class UnSafeCast


{
static void Main()
{
Test(new Mammal());

// Keep the console window open in debug mode.


System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}

static void Test(Animal a)


{
// System.InvalidCastException at run time
// Unable to cast object of type 'Mammal' to type 'Reptile'
Reptile r = (Reptile)a;
}
}
TestUsuli bir bor Animalshunday ochiq hujjatingizni tashlab, bir parametr abir Reptilexavfli taxmin qiladi. Taxmin qilmaslik, aksincha turini tekshirish xavfsizroq. C # beradi deb aslida bir ohangini amalga oldin muvofiqligi uchun sinov uchun taqdim qilish uchun operator. Qo'shimcha ma'lumot olish uchun naqshni moslashtirish va operatorlar kabi va qanday qilib xavfsiz translyatsiya qilish- ga qarang .

1.3.Yashirin va aniq konversiyalar


O'rnatilgan raqamli turlar uchun, saqlanadigan qiymat kesilmay yoki yaxlitlanmasdan o'zgaruvchiga mos kelishi mumkin bo'lsa, yashirin konvertatsiya qilish mumkin. Integral turlar uchun bu manba turi diapazoni maqsad turi uchun oraliqning to'g'ri to'plamidir. Masalan, long (64 bitli butun) turidagi o'zgaruvchi int (32 bitli tamsayı) saqlashi mumkin bo'lgan har qanday qiymatni saqlashi mumkin. Quyidagi misolda kompilyator bilvosita num, o'ngdagi qiymatni turga longbermasdan oldin o'zgartiradi bigNum.
C #Nusxalash
// Implicit conversion. A long can
// hold any value an int can hold, and more!
int num = 2147483647;
long bigNum = num;
Barcha yashirin raqamli konversiyalarning to'liq ro'yxati uchun " Ichki raqamli konversiyalar" maqolasining " Yashirin raqamli konversiyalar" bo'limiga qarang.
Yo'naltiruvchi turlar uchun yashirin konversiya har doim sinfdan to'g'ridan-to'g'ri yoki bilvosita bazaviy sinflar yoki interfeyslarning istalgan biriga o'tadi. Hech qanday maxsus sintaksis shart emas, chunki hosil bo'lgan sinf har doim asosiy sinfning barcha a'zolarini o'z ichiga oladi.
C #Nusxalash
Derived d = new Derived();

// Always OK.


Base b = d;
1   2   3   4   5




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