C# dasturlash tili va imkoniyatlari

2.2.C# dasturlash tili va imkoniyatlari
C# dasturi 90-yillarning oxirida ishlab chiqilib Microsoft. NET ning bir qismiga aylandi. Al`fa versiya sifatida 2000 yildan boshlab ishlatila boshladi. C # bosh arxitektori butun dunyo dasturchilari ichida birinchilar qatorida turgan va butun dunyo tomonidan tan olingan Anders Hejlsberg bo`ldi. Uning 1980 yillarda chiqarilgan Turbo Paskal dasturi orqali ham tanishimiz mumkin.
C# bevosita C, C++ va Java bilan bog`liq. Chunki bu uchta til dasturlash olamida eng mashhur tillardir. Bundan tashqari profisanal dasturchilar C va C++ ni va juda ko`pchilik Java tilida ish yuritadi.
Microsoft korporatsiyasi o’zining oynalar bilan ishlovchi va dunyoda eng ko’p tarqalgan va juda ham ko’p foydalanuvchilar tomonidan ma’qullangan operatsion tizimi Windows uchun ishlab chiqqan Visual Studio (bundan so’ng VS deb yuritiladi) muhiti ham faqatgina oynalar orqaligina ishlaydi. Unda mavjud barcha dastrulash tillari oynalarga bo’lingan va shu oynalar yordamida bir biriga bog’langan. VS yuklash uchun Start->program->Microsoft Visual Studio->Microsoft Visual Studio ketma ketligini bajarish kerak. VS yuklanganda odatda quyidagi ko’rinishda bo’ladi :
1.2.1-chizma.Visual Studioning muloqot oynasi
1.Birinchi navbatda , VS yuklanganda Start Page muloqot oynasi ochiladi. Bu muloqot oynasida :
1. Recent Projects – avval ishlangan loyihalardan 6 tasi ekranda ko’rsatilgan bo’ladi , ularni ustiga sichqonchaning chap tugmasini ikki marotaba bosish orqali ishga tushirish mumkin , shu bo’limning pastki qismida Open : Projects …… va Create: Projects …… bandlari bo’lib , open bandi orqali xotirada mavjud bo’lgan loyihani qayta ochish imkonini beradi , create bandi orqali esa yangi loyiha yaratish mumkin.
2. Getting started – loyiha yaratish va shu muhit haqida ma’lumot olish imkonini beradi.
3. Visual Studio Headlines – bu bo’limda sizning shu muhitda ishlayotganingiz uchun uning mualliflari tomonidan bildirilgan minnatdorligi ko’rsatilgan.
4. Visual Studio Developer News – bu asosiy qismda VS ustida qanday o’zgarishlar olib borilayotgani yoki olib borilgani haqida ma’lumot beriladi.
Endi biz yangi foydalanuvchi bo’lganimiz uchun bu muloqot oynasini yopib , yangi oyna ochamiz. Buning uchun biz menyular paneli bilan yaxshi tanishishimiz kerak.
2. Menyular paneli bilan ishlash.
File –
New – yangi loyiha yaratish
Open – yaratilgan loyihani ochish
Close – joriy loyihani yopish
Close Solution – barcha loyihalarni yopish
Save Selected Items – belgilangan barcha loyiha qismlarini saqlash
Save Selected Items As - belgilangan qismlarni barchasini xohlagan tartibda saqlash
Save All – barcha dasturlarni saqlash
Export Template – dasturni arxivlash
Page Setup – sahifa sozlamasini o’zgartirish
Print – chop etish
Recent files – fayllarni qayta ochish
Recent Projects – loyihalarni qayta ochish
VS dan chiqish
2.Edit :
Undo – bajarilgan amallarni bir marotaba bekor qilish
Redo – oxirgi bekor qilingan amalni qaytarish
Undo Last Global Action – barcha qilingan amallarni bekor qilish
Redo Last Global Action – bekor qilingan barcha amallarni qaytarish
Cut – belgilangan qismni yoki komponentni qirqib , xotirada saqlab turish
Copy – belgilangan qism yoki komponentaning nusxasini xotirada saqlab turish
Paste – xotiraga qirqib yoki nusxalab olingan qism yoki komponentani belgilangan yoki ko’rsatilgan joyga qo’yish
Select All – barcha qismlarni yoki komponentlarni belgilab olish
Find and Replace – ma’lum qism yoki komponentani butun muhit bo’ylab qidiradi va o’zgartiradi
Go To – ko’rsatilgan dastur qismiga borish
3.View :
Code – Joriy dasturning kodini chiqarib beradi;
Open – Joriy dasturni ochib beradi;
Open With – Joriy dasturni xohlagan dastur yordamida ishlov berish imkoniyatini yaratadi;
Server Explorer – Server oynasi bo’lib , unda asosiy komponentalar joylashadi;
Solution Explorer – Obyektlar oynasi;
Class View – Loyiha elementlarini ko’rsatib beradi , uning yordamida yangi yoki qo’shimcha obyektlarni qo’shish, olib tashlash, ko’rinishini, tartibini o’zgartirish mumkin;
Code Definition Window – Obyekt kodlarini ko’rsatib beruvchi oyna;
Object Browser – Visual Studiodagi barcha obyektlar xususiyatlarini va ularni qo’llash usullari beriladigan oyna;
Error List – Xatoliklar oynasi bo’lib , dastur kompiliyatsiya qilinishidan oldin va keyin undagi xatoliklarni ko’rsatib beradi va unda namoyon bo’lgan har bir xatolikni ustida ikki marotaba sichqoncha chiqillatilsa xatolik bo’lgan joyga kursorni eltib qo’yadi;
Output –Dastur o’z ishlashi davomida qanday fayllarga murojaat qilishi , qanday fayllarni hosil qilishi , qaysi cs yordamida hosil bo’lishi va qanday qiymat qaytarishini ko’rsatuvchi oyna;
Properties Window – Xususiyatlar oynasi bo’lib , qaysi obyekt faol bo’lsa , shu obyektning xususiyatlarini bildiradi;
Toolbox – Komponentalar joylashgan oyna bo’lib , unda VS da ishlatish mumkin bo’lgan barcha obyektlar joylashtirilgan;
Find Result – Natijani topish oynasi bo’lib, uning yordamida dastur ishlatilganda berilgan qiymatlarda qanday natija olinishini ko’rsatib beradi;
Other Windows – boshqa qo’shimcha oynalar majmui bo’lib , bu haqda keyinchalik chuqurroq aytib o’tamiz;
Toolbars – panellar qo’yish yoki olib tashlash bandi bo’lib , unda barcha turdagi panellarni izlash mumkin;
Full Screen – VS butun ekran hajmida kattalashadi;
Property Pages - Sahifalar xususiyatlari oynasi.
4.Refactor :
Rename – dasturni qayta nomlash;
Extract Method – metodni qayd etish;
Extract Interface – Interfeysni qayd etish;
Remove Parameters–parametrlarni qayta ko’chirish;
Reorder Parameters – parametrlarni qaytarish.
5.Project :
Add Windows Form –Windows formasini qo’shadi;
Add User Control – foydalanuvchi boshqarishining boshqa usullarini qo’shadi;
Add Component – Yangi component qo’shadi (foydalanuvchi tomonidan tayyorlangan bo’lishi ham mumkin);
Add Class – yangi sinf(ma’lumotlar yoki formalar sinfi)ni qo’shadi;
Add New Item – yangi elementini qo’shadi (obyektning);
Add Exiting Item – yangi chiquvchi elementini qo’shadi;
Show All Files – barcha fayllarni namoyish etadi;
Console Properties – Consolning xususiyatlari.
6.Debug :
Windows – Breakpoints , Output , Immedite Windows bandlarni o’z ichiga olgan bo’lib , bu oynalar yordamida ishlash imkonini beradi;
Start Debugging – Joriy loyihani komplyatsiya qilib , ishga tushiradi;
Start Without Debugging – Dasturni komplaytsiya qilib , bir necha komponentalarni birgalikda ishga tushiradi;
New Breakpoints - Yangi to’xtash nuqtalarini hosil qiladi.Bunda hosil bo’lgan nuqtalarni Shift+F5 tugmasi orqali bekor qilish mumkin;
Delete All Breakpoints – Barcha qo’yilgan to’xtash nuqtalarini bekor qilish uchun ishlatiladi.
7.Data :
Show Data Sources – Shu loyiha bilan bog’langan barcha ma’lumotlar bazalarini ko’rsatib beradi;
Add New Data Sources – Yangi ma’lumotlar bazasini qo’shish uchun ishlatiladi;
Schema Compare – Shu loyihada mavjud bo’lgan ma’lumotlar bazalari orasidagi barcha bog’liqliklarni ko’rsatib beradi;
Preview Data – Shu loyihadagi barcha ma’lumotlar bazalarini qidirish uchun ishlatiladi;
Refactor – Refaktor bandi bilan bog’liqlik o’rnatadi.
8.Format :
Align – Formaning joylashish koordinatlarini o’rnatish imkonini beradi. Bunda uning chap,o’ng,o’rta, past va yuqoridan chegaralash mumkin;
Make Same Size – Formaning o’lchamini berish mumkin.Unda balandligi , eni qalinligi va chegara qismini berish mumkin.
Visual C# tilida dasturlash texnologiyasi.
New - Yangi loyiha yaratish VS ning eng asosiy amallaridan biri bo’lgani uchun bu band haqida chuqurroq ma’lumot berib o’tamiz.
Bu menyuda yangi loyiha, web-sayt, file (o’zida kodlarni saqlab turuvchi *.cs fayl) , oddiy fayl yaratish mumkin. Biz shu bandlardan yangi loyiha yaratishni ko’rib chiqamiz.
Yuqorida aytib o’tilganidek , VS da bir necha tillar jamlangan. Biz shu tillar orasidan hozirda dunyoning eng kuchli dasturlash tillaridan biri deb tan olinayotgan C# dasturlash tili haqida so’z yuritamiz.
1.2.2-chizma. VS C# tili yordamida 17 xil loyiha yaratish oynasini ochish
VS (2010) da C# tili yordamida 17 xil loyiha yaratish mumkin.
1.2.3-chizma. VS (2010) da C# tili yordamida 17 xil loyiha yaratish
I.Asosiy tushunchalar.
C# tili o’zining interfeysi va sintaksisi uning yuqori sathli dasturlash tillariga kirishiga olib keladi. Uning butun dasturlash tanasi bo’ylab boshqarishni EHM ga topshiradi va faqat bajarilishi lozim bo’lgan shartnigina dasturchi tomonidan yozilishi va shu bilan birga , u tomonidan qo’llaniladigan “aqlli” dasturlash (ya’ni har bir kodning bohlang’ich harfi yoki belgisi kiritilganida u kodning qolgan qismini o’zi namoyish etadi ) ham bu dasturlash tilining keng ommaga ma’qul kelishini ta’minlab berdi. VS dagi C# tili ham xuddi shu vazifani bajarib beradi. Uning Console Application qismida qora oynali muloqot oynasi yaratiladi va shu qora oyna dastur ishga tushganda paydo bo’ladi. Uning ko’rinishi avtomatik tarzda VS tomonidan shakllantirilgan bo’lib u dasturchi tomonidan o’zgartirilishi mumkin emas.
Consolda ishlatiladigan barcha komponentalar , ularning kodlari , parametrlar boshqa loyihalarda ham qo’llanilishi mumkin. Endi Consolda dasturlashni ko’rib chiqamiz. Birinchi navbatda New->Project->Visual C#->Console Application buyruqlar ketma ketligini bajaramiz.
1.2.4-chizma.Loyihalar ro’yxati
Bizga quyidagi muloqot oynasi ochiladi :
1.2.5-chizma.Muloqot oynasi
II. C# tilining C,C++ dan farqi.
C# tilining sintaksisi uning C va C++ tillaridan “nusxa” kamligini bildiradi.Andres Xijisberg (C# tilining asoschisi) bu tilni yaratayotganda o’z oldiga quyidagi vazifalarni asosiy maqsadi sifatida ishlata boshladi :
1. Birinchi bo’lib C/C++ tillari oilasida obyektga yo’naltirilgan dasturlash tilini yaratish;
2. Shunday obyektga yo’naltirilgan dasturlash tilini yaratish kerakki , unda hamma narsa obyekt sifatida yaratilsin(o’zgaruvchilar , formalar , massivlar , sinflar ) ;
3. C++ tilini osonlashtirish , lekin shunday yo’l bilanki , C++ tilining kuchi va konstruksiyalari saqlanib qolsin.
Bu tilning eng katta yangiligi uning obyektga murojaati bo’lib , komponentlar yangi loyihalar yaratishdagi tuzilmalarni tuzishdagi barcha muammolarni hal etadi.Komponentlar tuzilishi faqatgina dasturlash tiliga bog’liq bo’lib qolmasdan , balki , uning qanday platformaga ega ekanligiga ham bog’liq.
Platforma .NET – ko’p tilli muhit bo’lib , yangi tillar uchun ochiq holda bo’ladi , unda faqatgina Microsoft emas , balki boshqa firmalarning dasturlash tillari ham ishlay oladi. .NET platformaga bog’langan barcha dasturlash tillari bitta qolip bilan .NET Framework bog’langan bo’lishlari kerak. Bu jiddiy chegara bo’lsada , uning afzallik tomonlari bor.
NET Framework va sinflar kutubxonasi
VC++ muhitida yaratilgan barcha loyihalarda qolip sifatida Application Framework , sinflar kutubxonasi bo’lib esa MFC xizmat qilardi. MFC – EXE , Active – X yoki DLL loyihasi yaratilganda , qolipdan kerakli dastur komponentlari chiqib , loyiha yaratilishi uchun ishlaydi. Tanlangan sinflar esa shu qolip yaratilishi uchun xizmat qiladi. Qolip .Net shuning bilan birga o’zida sinflar kutubxonasini yaratadi(Class Library).
Dastur tuzilishi.
C# da dastur bitta yoki bir necha fayllardan iborat bo’ladi. Har bir fayl o’zida bir yoki bir necha nomlarni saqlab turishi mumkin.Har bir nom esa o’zida qo’yilgan nom yoki tipni , qaysiki sinflar , struktura , interfeys , hisoblash va delegate – funksional tiplardir.C# da yangi loyiha yaratish paytida , VS muhitidagi 10 ta loyiha tiplaridan biri tanlanadi.Bularga Windows Application , Class Library, ASP.NET Application va ASP.NET Web Service misol bo’ladi. Birortasi tanlansa avtomatik tarzda C# va C++ ning shu loyiha tipiga mos qolipi hosil bo’ladi. Bu dasturlash tillari mualliflari ularning o’xshashligini ta’kidlasalarda , bu tillarning alohida konstruksiyalarida sintaksis va semantic jihatdan katta farqi bor.
C++ va C# ning sintaksis va semantic farqi :
Ko’rsatkichlar va xotirani boshqarish : C++ da ko’rsatkichlar bilan ishlash asosiy o’rinlardan birida turadi. C# da oddiygina dastur tuzilishida ham xavfsiz kod yozish talab etiladi va ko’rsatkichlar va manzillar arifmetikasidan foydalanishni man etadi. Bu esa C# dasturchini ortiqcha xotirani boshqarish ishlari bilan shug’ullanishining oldini olib , dasturining funksional qismiga ko’proq e’tibor berishini ta’minlaydi.
Merosxo’rlik va shablon : C# da C++ dagidek ko’p merosxo’rlik va shablon bilan ishlanmaydi , faqatgina interfeys uchungina ishlatilishi mumkin.
|