#Virtual metodlar virtual xossalar metodlarni yashirish va qayta aniqlash.
savollar
Ozgaruvchi va ozgarmas tushunchasi
Arifmetik va mantiqiy amallar
Kiritish va chiqarish funksiyalari va ularda satrlarni dastlabki formatlash qoidalari
Turni boshqa turga keltirish
Shart operatorlari
For
While
do while
goto operatorlari
Bir olchamli masivlar.
Kop olchamli masivlar
Satrlar ustida amallar
Metodlarni elon qilish.
Merodlardan qiymat qaytarish.
Kelishuv boyicha parametrli metodlar.
Rekursiv va qayta yuklanuvchi metodlar
Strukturalar
Sinf eloni.
Konstruktorlar.
public private protocted va internal kalit sozlari
Statik berilganlar , statik metodlar,statik sinflar.
Vorislik
Poliformizm
Virtual metodlar virtual xossalar metodlarni yashirish va qayta aniqlash.
Abstrak siniflar
Istisnolar
Forma xossalari
Delegatlar
Lyamda ifodalar
Xodisalar(event)
Kolleksiyalar
Fayllar bilan ishlash
LINQ texnologiyasi va operatorlari
LINQ sorovlar
Berilganlar bazasiga ulanish.
ADO.NET.
So`rovlar bilan ishlash.
Rasmlar geometrik obyektlardan foydalanish.
Ozgaruvchi va ozgarmas tushunchasi
Arifmetik va mantiqiy amallar
Kiritish va chiqarish funksiyalari va ularda satrlarni dastlabki formatlash qoidalari
Turni boshqa turga keltirish
Shart operatorlari
For
While
do while
goto operatorlari
Bir olchamli masivlar.
Kop olchamli masivlar
Satrlar ustida amallar
Metodlarni elon qilish.
Merodlardan qiymat qaytarish.
Kelishuv boyicha parametrli metodlar.
Rekursiv va qayta yuklanuvchi metodlar
Strukturalar
Sinf eloni.
Konstruktorlar.
public private protocted va internal kalit sozlari
Statik berilganlar , statik metodlar,statik sinflar.
Vorislik
Poliformizm
Virtual metodlar virtual xossalar metodlarni yashirish va qayta aniqlash.
Abstrak siniflar
Istisnolar
Forma xossalari
Delegatlar
Lyamda ifodalar
Xodisalar(event)
Kolleksiyalar
Fayllar bilan ishlash
LINQ texnologiyasi va operatorlari
LINQ sorovlar
Berilganlar bazasiga ulanish.
ADO.NET.
So`rovlar bilan ishlash.
Rasmlar geometrik obyektlardan foydalanish.
Free member pinned «savollar Ozgaruvchi va ozgarmas tushunchasi Arifmetik va mantiqiy amallar Kiritish va chiqarish funksiyalari va ularda satrlarni dastlabki formatlash qoidalari Turni boshqa turga keltirish Shart operatorlari For While do while goto operatorlari Bir olchamli…»
Oʻzgaruvchi
Barcha dasturlash tillarida eng ahamiyatli o’rinlardan birida turadigan, hamda ko’pchilikka ilk dasturlashni boshlash chog’larida muammo bo’lishga ulgurgan, ushbu mavzu to’g’risida yaqin daqiqalar ichida tushunmovchiliklarga barham beramiz. Kitobiy gaplardan boshlaganimga e’tibor bermasligingizni so'rayman, kompyuter qarshisida ko’p o’tirishning oqibati shunaqa bo’larkan. Hop endi mavzuga qaytamiz. O’zgaruvchi - bu turli xil ko’rinishdagi ma’lumotlarni o’zida saqlab turuvchi va dastur ishlash davomida qiymati o’zgarib boradigan konteyndir. Tushunish qiyin bo’lganduraa? Kayfiyatni cho’ktirmaymiz. Keling berilgan iboraga, hayotiy misol orqali o’xshatish berib ko’ramiz: Tasavvur qiling sizning uyingizda omborxona bor. Tabiiyki u yerda , kundalik yumushlaringizda foydalanadigan ishchi qurollar (ketmon, lapatka...) va oyingiz tayyorlagan kampot-u qiyomlar saqlanadi. Kampot shirin bo’lganidan yozning jazirama issig’ida zo’r ketadi va ombor ham asta-sekinlik bilan bo’shashni boshlaydi. Lekin omborga kirib, uni ochmaguningizgacha qishin – yozin turaveradi. O’zgaruvchilar ham bir ombor hisoblanadi. Ular ham o’zida ma’lum bir toifaga oid qiymatlarni saqlab boradi.
O’zgaruvchilarni e’lon qilish. O’zgaruvchilarni e’lon qilish uchun birinchi navbatda uning qaysi toifaga tegishliligi, uning nomi hamda unga beriladigan qiymatlarni aytib qo’yish talab etiladi.
Barcha dasturlash tillarida eng ahamiyatli o’rinlardan birida turadigan, hamda ko’pchilikka ilk dasturlashni boshlash chog’larida muammo bo’lishga ulgurgan, ushbu mavzu to’g’risida yaqin daqiqalar ichida tushunmovchiliklarga barham beramiz. Kitobiy gaplardan boshlaganimga e’tibor bermasligingizni so'rayman, kompyuter qarshisida ko’p o’tirishning oqibati shunaqa bo’larkan. Hop endi mavzuga qaytamiz. O’zgaruvchi - bu turli xil ko’rinishdagi ma’lumotlarni o’zida saqlab turuvchi va dastur ishlash davomida qiymati o’zgarib boradigan konteyndir. Tushunish qiyin bo’lganduraa? Kayfiyatni cho’ktirmaymiz. Keling berilgan iboraga, hayotiy misol orqali o’xshatish berib ko’ramiz: Tasavvur qiling sizning uyingizda omborxona bor. Tabiiyki u yerda , kundalik yumushlaringizda foydalanadigan ishchi qurollar (ketmon, lapatka...) va oyingiz tayyorlagan kampot-u qiyomlar saqlanadi. Kampot shirin bo’lganidan yozning jazirama issig’ida zo’r ketadi va ombor ham asta-sekinlik bilan bo’shashni boshlaydi. Lekin omborga kirib, uni ochmaguningizgacha qishin – yozin turaveradi. O’zgaruvchilar ham bir ombor hisoblanadi. Ular ham o’zida ma’lum bir toifaga oid qiymatlarni saqlab boradi.
O’zgaruvchilarni e’lon qilish. O’zgaruvchilarni e’lon qilish uchun birinchi navbatda uning qaysi toifaga tegishliligi, uning nomi hamda unga beriladigan qiymatlarni aytib qo’yish talab etiladi.
Konstruktor
Biz bilamizki, obyektlarga initsializatsiya(qiymat belgilash) konstruktor orqali hosil qilinadi. Har qaysi yaratilgan obyekt parametrning aniq bir qiymatini qabul qiladi. Demak hozircha oddiy classni kurib turamiz.
class p
{
// Xossa (avtomatik)
public int x { get; set; }
public int y { get; set; }
// Konstruktorlar
public p()
{
}
public p(int v1, int v2)
{
x = v1;
y = v2;
}
}
Bu dasturda nima jarayon ketayotganini bilsangiz kerak agar bilmasangiz qisqacha yana tushuntirib o’tib ketaman. Demak diqqat qilamiz!.
Biz p nomli class yaratdik. Unda 2 ta xossa: x va y va qo'shimcha tarzda yana 2 ta konstruktor ham bor. Sizda savol tug’ilgan bo'lishi mumkin:Agar biz dasturda qo'shimcha konstruktor yaratmasak jimlik bo'yicha (yani yaratmasak ham uzi bitta konstruktor mavjud bo'ladi) yaratilgan buladi. Bu holatda esa biz yana bitta konstruktor yaratdik. Unda 2 ta argument mavjud (argument deganlarim v1 va v2 lar) va u 2 ta xossaga qiymat taminlash amalini bajaryabdi
Biz bilamizki, obyektlarga initsializatsiya(qiymat belgilash) konstruktor orqali hosil qilinadi. Har qaysi yaratilgan obyekt parametrning aniq bir qiymatini qabul qiladi. Demak hozircha oddiy classni kurib turamiz.
class p
{
// Xossa (avtomatik)
public int x { get; set; }
public int y { get; set; }
// Konstruktorlar
public p()
{
}
public p(int v1, int v2)
{
x = v1;
y = v2;
}
}
Bu dasturda nima jarayon ketayotganini bilsangiz kerak agar bilmasangiz qisqacha yana tushuntirib o’tib ketaman. Demak diqqat qilamiz!.
Biz p nomli class yaratdik. Unda 2 ta xossa: x va y va qo'shimcha tarzda yana 2 ta konstruktor ham bor. Sizda savol tug’ilgan bo'lishi mumkin:Agar biz dasturda qo'shimcha konstruktor yaratmasak jimlik bo'yicha (yani yaratmasak ham uzi bitta konstruktor mavjud bo'ladi) yaratilgan buladi. Bu holatda esa biz yana bitta konstruktor yaratdik. Unda 2 ta argument mavjud (argument deganlarim v1 va v2 lar) va u 2 ta xossaga qiymat taminlash amalini bajaryabdi
Struktura
C# dasturlash tilida kompyuter xotirasiga bir o’zgaruvchi yordamida bir nechta qiymatlarda foydalanishga to’g’ri keladi. Bir o’zgaruvchi bilan bir nechta qiymat ustida amallar bajarish uchun berilgan ma’lumotlar bir turga mansub bo’lishi kerak. C# dasturlash tilida bir o’zgaruvchi yordamida bir nechta qiymatlardan foydalanish uchun massiv degan turdan foydalaniladi. Dasturlash tillarida ro’yxat yoki jadval ko’rinishidagi ma’lumotlarni massiv deb atashadi. Massiv so’zining ma’nosi o’lcham, o’lchov demakdir. Massivning barcha elementlari bitta turga mansub bo’lib, ular bitta nom bilan nomlanadi va bir-birlaridan nomerlari (indekslari) bilan farq qiladi.
Endi dasturdagi ma’lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma’lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda xotirada egallagan joyi o’zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Statik massivlar elementlar soni oldindan ma’lum bo’lgan va initsializatsiyalangan (qiymat belgilangan) massivlar hisoblanadi. Dinamik ma’lumot tiplari dastur davomida o’z hajmini, egallagan xotirasini o’zgartirishi mumkin. Dinamik massivlar esa elementlari soni oldindan ma’lum bo’lishi va uni initsializatsiyalash (qiymat belgilash) shart emas. Statik massivlarning kamchiliki shundaki, agar ularning o’lchamini oldindan juda katta olinsa-yu, uning ko’p qismi keraksiz qolib ketsa, u holda xotira behuda sarflanishiga olib keladi. Shu muammoni hal qilish maqsadida massivlar C# tilida asosan dinamik tarzda e’lon qilinadi. Massivlar dasturlashda eng ko’p qo’laniladigan ma’lumot tiplaridir. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o’zgaruvchilar guruhidir. Alohida bir o’zgaruvchini ko’rsatish uchun massiv nomi va kerakli o’zgaruvchi indeksini yoziladi.
C# dasturlash tilida kompyuter xotirasiga bir o’zgaruvchi yordamida bir nechta qiymatlarda foydalanishga to’g’ri keladi. Bir o’zgaruvchi bilan bir nechta qiymat ustida amallar bajarish uchun berilgan ma’lumotlar bir turga mansub bo’lishi kerak. C# dasturlash tilida bir o’zgaruvchi yordamida bir nechta qiymatlardan foydalanish uchun massiv degan turdan foydalaniladi. Dasturlash tillarida ro’yxat yoki jadval ko’rinishidagi ma’lumotlarni massiv deb atashadi. Massiv so’zining ma’nosi o’lcham, o’lchov demakdir. Massivning barcha elementlari bitta turga mansub bo’lib, ular bitta nom bilan nomlanadi va bir-birlaridan nomerlari (indekslari) bilan farq qiladi.
Endi dasturdagi ma’lumot strukturalari bilan tanishishni boshlaymiz. Dasturda ikki asosiy tur ma’lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda xotirada egallagan joyi o’zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Statik massivlar elementlar soni oldindan ma’lum bo’lgan va initsializatsiyalangan (qiymat belgilangan) massivlar hisoblanadi. Dinamik ma’lumot tiplari dastur davomida o’z hajmini, egallagan xotirasini o’zgartirishi mumkin. Dinamik massivlar esa elementlari soni oldindan ma’lum bo’lishi va uni initsializatsiyalash (qiymat belgilash) shart emas. Statik massivlarning kamchiliki shundaki, agar ularning o’lchamini oldindan juda katta olinsa-yu, uning ko’p qismi keraksiz qolib ketsa, u holda xotira behuda sarflanishiga olib keladi. Shu muammoni hal qilish maqsadida massivlar C# tilida asosan dinamik tarzda e’lon qilinadi. Massivlar dasturlashda eng ko’p qo’laniladigan ma’lumot tiplaridir. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o’zgaruvchilar guruhidir. Alohida bir o’zgaruvchini ko’rsatish uchun massiv nomi va kerakli o’zgaruvchi indeksini yoziladi.
Bir o`lchamli masivlar.
Massivlarda ma’lumotlarni saqlash bilan birga ularni kerak paytda o’chira olish ham kerak. Agar siz butun bir massivni yoki uning bir qismidagi elementlarni birdaniga o’chirmoqchi bo’lsangiz, bunda sizga Array.Clear() metodi yordam beradi. Kiruvchi parametr sifatida massiv nomi, o’chirishni nechinchi indeksdan boshlashingiz va nechta elementni o’chirishingizni kiritishingiz kerak. Array.Clear() metodi bilan massiv elementlari o’chirilganda massivning o’lchami o’zgarmaydi, o’chirilgan elementlar 0 (string da null) ga teng bo’lib qoladi
Massivlarda ma’lumotlarni saqlash bilan birga ularni kerak paytda o’chira olish ham kerak. Agar siz butun bir massivni yoki uning bir qismidagi elementlarni birdaniga o’chirmoqchi bo’lsangiz, bunda sizga Array.Clear() metodi yordam beradi. Kiruvchi parametr sifatida massiv nomi, o’chirishni nechinchi indeksdan boshlashingiz va nechta elementni o’chirishingizni kiritishingiz kerak. Array.Clear() metodi bilan massiv elementlari o’chirilganda massivning o’lchami o’zgarmaydi, o’chirilgan elementlar 0 (string da null) ga teng bo’lib qoladi