Mavzu: C# tilida delegatlar, hodisalar va lambda ifodalardan foydalanish



Download 1,15 Mb.
bet1/11
Sana08.07.2022
Hajmi1,15 Mb.
#756659
  1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Boltaboyev Jamshid 202kidt

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI





Urganch Davlat Universiteti Fizika-matematika fakulteti Kompyuter ilmlari va dasturlash texnologiyasi yo`nalishi 202-guruh tolibi Boltaboyev Jamshidning Algoritmik tillari va dasturlash fanidan tayyorlagan



KURS ISHI

Mavzu: C# tilida delegatlar, hodisalar va lambda ifodalardan foydalanish


Topshirdi: J.Boltaboyev

Qabul qildi: M.Sharipov



Baholash: _________



Urganch-2022

Reja:


I

Kirish……………………………………………………..

3

II

Asosiy qism




2.1

C# dasturlash tili haqida. Delegatlar, tadbirlar va lambdalar delegatlar………..…………………………………………


6

2.2

Delegatlar, tadbirlar va lambdalarga oid masalalar yechish..

15

III

Xulosa…………………………………………..………….

21

IV

Foydalanilgan adabiyotlar …………………….………..

22









Kirish
Bugungi kunda C# dasturlash tili IT sohasida eng kuchli, tez rivojlanayotgan va talabga ega tillardan biri hisoblanadi. Ayni paytda unda turli xil ilovalar yozilgan: kichik ish stoli dasturlaridan tortib, har kuni millionlab foydalanuvchilarga xizmat ko'rsatadigan yirik veb-portallar va veb-xizmatlargacha. C# tili endi yosh til emas va .NET platformasining qolgan qismi kabi u uzoq yo‘lni bosib o‘tdi. Tilning birinchi versiyasi 2002 yil fevral oyida Microsoft Visual Studio .NET ning chiqarilishi bilan chiqdi. Tilning joriy versiyasi C# 10.0 bo‘lib, u 2021-yil 8-noyabrda .NET 6-ning chiqarilishi bilan birga chiqarilgan. C# - bu C-ga o'xshash sintaksisga ega til va bu jihatdan C++ va Java tillariga yaqin. Shuning uchun, agar siz ushbu tillardan biri bilan tanish bo'lsangiz, C# tilini o'zlashtirish osonroq bo'ladi. C# ob'ektga yo'naltirilgan bo'lib, bu borada Java va C++ dan ko'p narsalarni olgan.Masalan, C# tili polimorfizm, merosxo'rlik, operatorni ortiqcha yuklash, statik yozishni qo'llab-quvvatlaydi. Ob'ektga yo'naltirilgan yondashuv katta, lekin ayni paytda moslashuvchan, kengaytiriladigan va kengaytiriladigan ilovalarni qurish muammolarini hal qilishga imkon beradi. C# faol rivojlanishda davom etmoqda va har bir yangi versiya bilan yanada qiziqarli funktsiyalar paydo bo'ladi. .NET platformasining roli, C# deganda ular ko'pincha .NET platformasi texnologiyalarini (Windows Forms, WPF, ASP.NET, Xamarin) nazarda tutadi.


Aksincha, ular .NET deganda, ular ko'pincha C# ni anglatadi. Biroq, bu tushunchalar bir-biriga bog'liq bo'lsa-da, ularni aniqlash noto'g'ri. C# tili .NET ramkasi bilan ishlash uchun maxsus yaratilgan, ammo .NET tushunchasining o'zi biroz kengroqdir. Bir paytlar Bill Geyts .NET platformasi Microsoft yaratgan eng yaxshisi ekanligini aytdi. Balki u haq edi. .NET Framework ilovalarni yaratish uchun kuchli platformani taqdim etadi. Quyidagi asosiy xususiyatlarni ajratib ko'rsatish mumkin: Ko'p tillarni qo'llab-quvvatlash . Platformaning markazida Common Language Runtime (CLR) joylashgan boʻlib, u .NET ni bir nechta tillarni qoʻllab-quvvatlaydi: C# dan tashqari, u VB.NET, C++, F# va boshqa tillarning turli dialektlarini ham oʻz ichiga oladi. NET, masalan, Delphi.NET. Kompilyatsiya qilinganda, ushbu tillarning har qandayidagi kod Common Intermediate Language (CIL) assambleyasiga, .NET assembler turiga kompilyatsiya qilinadi. Shuning uchun, ma'lum sharoitlarda, biz alohida tillarda bitta ilovaning alohida modullarini yaratishimiz mumkin. O'zaro platformalar . .NET portativ platforma (ba'zi cheklovlar bilan). Masalan, hozirgi vaqtda platformaning eng so'nggi versiyasi - .NET 6 eng zamonaviy Windows, MacOS, Linux-da qo'llab-quvvatlanadi. .NET platformasida turli texnologiyalardan foydalangan holda siz turli platformalar - Windows, MacOS, Linux, Android, iOS, Tizen uchun C# ilovalarini ishlab chiqishingiz mumkin. Kuchli sinf kutubxonasi .
.NET barcha qo'llab-quvvatlanadigan tillar uchun yagona sinf kutubxonasini taqdim etadi. Biz C# tilida qaysi dasturni yozishimizdan qat'iy nazar - matn muharriri, chat xonasi yoki murakkab veb-sayt - u yoki bu tarzda biz .NET sinf kutubxonasidan foydalanamiz. Turli xil texnologiyalar . Umumiy tilning ishlash vaqti (CLR) va asosiy sinf kutubxonasi ishlab chiquvchilar ilovalarni yaratishda foydalanishi mumkin bo'lgan butun texnologiyalar to'plami uchun asosdir. Masalan, ADO.NET va Entity Framework Core texnologiyasi ushbu texnologiya stekidagi ma'lumotlar bazalari bilan ishlash uchun mo'ljallangan.
Boy interfeysli grafik ilovalarni yaratish - WPF va WinUI texnologiyasi, oddiyroq grafik ilovalarni yaratish - Windows Forms. O'zaro platformali mobil va ish stoli ilovalarini ishlab chiqish uchun - Xamarin/MAUI. Veb-saytlar va veb-ilovalarni yaratish uchun - ASP.NET va boshqalar. Bunga faol rivojlanayotgan va mashhurlikka erishayotgan Blazor - .NET ning tepasida ishlaydigan va server tomonida ham, mijoz tomonida ham veb-ilovalarni yaratish imkonini beruvchi ramkani qo'shish kerak. Va kelajakda u mobil ilovalarni va, ehtimol, ish stoli ilovalarini yaratishni qo'llab-quvvatlaydi. Bir qator testlarda .NET 6 veb-ilovalari bir qator toifalar bo'yicha boshqa texnologiyalar bilan tuzilgan veb-ilovalardan ancha ustundir. .NET 6 dagi ilovalar odatda yuqori unumdorligi bilan ajralib turadi. Shuni ham ta'kidlash kerakki, C# tili va .NET ramkasining avtomatik axlat yig'ish xususiyati. Va bu shuni anglatadiki, ko'p hollarda biz C ++ dan farqli o'laroq, xotirani bo'shatish haqida tashvishlanmasligimiz kerak. Yuqoridagi umumiy til ish vaqti axlat yig'uvchini chaqiradi va xotirani tozalaydi.
.NET Framework va .NET 6 Shuni ta'kidlash kerakki, .NET uzoq vaqtdan beri birinchi navbatda Windows uchun platforma sifatida .NET Framework deb nomlangan. 2019-yilda ushbu platformaning so‘nggi versiyasi chiqdi – .NET Framework 4.8. U endi rivojlanmaydi. 2014-yildan boshlab Microsoft muqobil platforma - .NET Core ni ishlab chiqishni boshladi, u allaqachon turli platformalar uchun mo'ljallangan bo'lib, eskirgan .NET Frameworkning barcha xususiyatlarini o'zida mujassamlashtirgan va yangi funksiyalarni qo'shishi kerak edi. Keyin Microsoft ushbu platformaning bir qator versiyalarini ketma-ket chiqardi:
.NET Core 1, .NET Core 2, .NET Core 3, .NET 5. Va joriy versiya ushbu qo'llanmada muhokama qilingan .NET 6 platformasidir. asosan Windows uchun moʻljallangan .NET Framework va oʻzaro platforma .NET 6 oʻrtasida farqlanadi. Ushbu qoʻllanma .NET 6 bilan birgalikda C# 10 ga eʼtibor qaratiladi, chunki bu joriy platforma hisoblanadi. Boshqariladigan va boshqarilmaydigan kod Ko'pincha C# da yaratilgan dastur boshqariladigan kod deb ataladi. Bu nima degani? Bu shuni anglatadiki, ushbu ilova .NET ramkasi ustiga qurilgan va shuning uchun dasturni yuklaydigan va kerak bo'lganda xotirani tozalaydigan umumiy tilning ish vaqti (CLR) tomonidan boshqariladi. Ammo C++ da yaratilganlar kabi C#, VB.NET yoki F# kabi umumiy CIL tiliga emas, balki oddiy mahalliy kodga kompilyatsiya qilinadigan ilovalar ham mavjud. Bunday holda, .NET dasturni boshqara olmaydi. Shu bilan birga, .NET platformasi boshqarilmaydigan kod bilan birgalikda ishlash imkoniyatlarini taqdim etadi. Yuqorida aytib o'tilganidek, C# kodi CIL tilida exe yoki dll kengaytmalari bo'lgan ilovalar yoki yig'ilishlarga kompilyatsiya qilinadi. Bundan tashqari, bunday dastur bajarish uchun ishga tushirilganda, JIT kompilyatsiyasi (Just-In-Time) mashina kodiga kiradi va keyin bajariladi. Shu bilan birga, bizning ilovamiz katta bo'lishi va ko'rsatmalar to'plamini o'z ichiga olishi mumkinligi sababli, hozirgi vaqtda dasturning to'g'ridan-to'g'ri kirish mumkin bo'lgan qismigina kompilyatsiya qilinadi. Agar kodning boshqa qismiga murojaat qilsak, u CIL dan mashina kodiga kompilyatsiya qilinadi. Bundan tashqari, dasturning allaqachon tuzilgan qismi dastur oxirigacha saqlanadi. Oxir-oqibat, bu ish faoliyatini yaxshilaydi.
Delegatlar usullarga ishora qiluvchi ob'ektlarni ifodalaydi. Ya'ni delegatlar usullarga ko'rsatgich bo'lib, delegatlar yordamida biz bu usullarni chaqirishimiz mumkin. Delegatlarni aniqlashda Delegate kalit so'zi delegatni e'lon qilish uchun ishlatiladi, undan keyin qaytish turi, nomi va parametrlari. Misol uchun:

1


Download 1,15 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   10   11




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