Kalit so'zlar Abdulaziz Abduxalil-zoda
Kalit so'zlar kompilyator uchun maxsus ma'nolarga ega bo'lgan oldindan belgilangan, zaxiralangan identifikatorlardir. Ular @ prefiksisiz dasturlarda identifikator sifatida ishlatilishi mumkin emas. Masalan, @if haqiqiy identifikator hisoblanadi, lekin if emas chunki bu kalit so'z bo'ladi. Ushbu maqoladagi birinchi jadvalda C# dasturining biron bir qismida identifikator sifatida ishlatib bo'lmaydigan kalit so'zlar keltirilgan. Ushbu maqoladagi ikkinchi jadvalda kontekstli C# kalit so'zlari keltirilgan. Kontekstli kalit so'zlar faqat ma'lum bir dastur kontekstida ishlatish mumkin va bu kontekstdan tashqarida identifikator sifatida foydalanish mumkin. Odatda, oldingi versiyalarda yaratilgan dasturlarni buzmaslik uchun yangi kalit so'zlar kontekstli kalit so'zlar sifatida C# tiliga qo'shiladi.
abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while Kontekstli kalit so'zlar: Kontekst kalit so'zi kodning o'ziga xos ma'nosini ta'minlash uchun ishlatiladi, ammo bu C# -da saqlangan so'z emas. partial va where kabi ba'zi bir kontekstli kalit so'zlar ikki yoki undan ortiq kontekstda maxsus ma'nolarga ega.
add alias ascending async await by descending dynamic equals from get global group into join let nameof notnull on orderby partial (tur) partial (metod) remove select set unmanaged value var when where yield ReadLine Ra'no Norpo'latova
Assalomu aleykum bo'lajak .NET dasturchilar, ushbu mavzuda sizlarga nimalardir tushintirishga harakat qilaman, tushunmasangiz menda emas :) xaxaa
Console.WriteLine() malumotlarni chiqarish, chop etish (output) uchun foydalaniladi. Endi belgilar oqimini o'qish uchun (input) Console.ReadLine() dan foydalanamiz. ReadLine() metodi (funksiyasi) Console sinfi ga tegishli.
1
using System;
2
3
namespace ConsoleApp2
4
{
5
class Program
6
{
7
static void Main(string[] args)
8
{
9
string Ism;
10
Console.WriteLine("Ismingizni kiriting: ");
11
//string tipida qiymat qaytadi
12
Ism = Console.ReadLine();
13
}
14
}
15
}
Copied!
Console.ReadLine() bilan ma'lumotlarni faqat string tipida olishimiz mumkin. Masalan int tipida son kiritmoqchi bo'lsak uni string tipidan int tipiga (o'zgartirishimiz) konvertatsiya qilishimiz kerak. Bunda Convert sinfining ToInt32() metodi yoki int sinfining Parse() metodidan foydalanashimiz mumkin!
1
using System;
2
3
namespace ConsoleApp2
4
{
5
class Program
6
{
7
static void Main(string[] args)
8
{
9
string Ism;
10
int Yosh;
11
Console.Write("Ismingizni kiriting: ");
12
//string tipidagi qiymat qaytadi
13
Ism = Console.ReadLine();
14
15
Console.Write("Yoshingizni kiriting: ");
16
//string turidan int turiga aylantiriladi
17
Yosh = Convert.ToInt32(Console.ReadLine());
18
//int.Parse yordamida convertatasiya qilamiz
19
//Yosh = int.Parse(Console.ReadLine());
20
}
21
}
22
}
Copied!
Convertatsiyani ikki xil usulini ikki sonning yig’indisi (a+b) da ko’rib chiqamiz.
1
namespace ConsoleApp2
2
{
3
class Program
4
{
5
static void Main(string[] args)
6
{
7
int a, b;
8
a = Convert.ToInt32(Console.ReadLine());
9
b = int.Parse(Console.ReadLine());
10
Console.WriteLine("Natija: " + (a + b));
11
}
12
}
13
}
Copied!
Parse() metodidan foydalanishni maslahat beramiz. Har bir tur (int, long, double...) ushbu metodni o'z ichiga oladi. Ya'ni string turidan o'sha joriy turga o'girish uchun foydalaniladi
Ma'lumot o'rnida aytib o'tish lozimki, Console sinfi, ekrandan ma'lumot o'qib oladigan 3 ta metodni o'z ichiga oladi.Read(), ReadLine(), ReadKey()
ReadKey() - Biror klavish bosilishini kutadi va uning kodini qaytaradi (ConsoleKeyInfo turida)
Read() - Bir belgi kiritilishi kutiladi va o'sha belgining ASCII kodi qaytariladi (int turida)
ReadLine() - Satr kiritilishi kutiladi va string turida qaytaradi.
If-else
Sobirjonov O'tkirbek
C# dasturlash tilida if-else lar bilan tanishamiz (Men tanishman siz tanishasiz) Biz hayotda juda ko’p if va else ni ishlatganmiz. “IF” so’zi o’zbek tiliga “Agar” deb tarjima qilinadi. Keling avval ifni o’zini o’rganib olaylik : Misol: “Agar bir qop pulim bo’lsa, albatta ularni hammasini yoqib yuborgan bo’lar edim”. Bu so’zda biz if ni o’zidan foydalandik demak keling uni C# dasturlash tilida ko’ramiz.
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
bool meningBirQopPulim = false;
9
if(meningBirQopPulim == true)
10
{
11
//Yoqib yuborgan bo'lar edim
12
}
13
}
14
}
15
}
16
Copied!
Demak Bu dasturda meningBirQopPulim degan o’zgaruvchi e’lon qildim, va bir qop pulim yo’qligi uchun false qiymat berdim. Endi esa ifga o’tamiz Dasturda avval “if” kalit so’zi yozib keyin qavslar orasiga shart beriladi, bu shart mantiqiy amallardan bolishi kerak ya’ni true yoki false qiymat qaytaradigan. Shuning uchun qavslar ichiga (birQopPulim == true) deb shart berdik, va bilib turganingizdek yolg’on yani false qiymat qaytaradi. Va shart bajarilmaydi. Natijada jingalak qavslar ichidagi codlar ish bajarmaydi. Endi bu Codelarni bizor o’zgartirsak, ya’ni meni biroz boyitsak
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
bool meningBirQopPulim = true;
9
if(meningBirQopPulim == true)
10
{
11
Console.WriteLine("Yoqib yuborish kerak");
12
}
13
}
14
}
15
}
16
Copied!
Bu dasturda men men o’zimni bir qop pulim bor deb e’lon qildim va Dastur shartni tekshirib ko’radi e’tibor bering (true) qiymatga aylanayapti. Va natijada Console oynaga “yoqib yuborish kerak” degan satr chiqadi. Keling endi else ni ham ishlatamiz avval codeni bir ko’ring va ozroq fikr Yuritingchi.
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
bool meningBirQopPulim = true;
9
if(meningBirQopPulim == true)
10
{
11
Console.WriteLine("Yoqib yuborish kerak");
12
}
13
else
14
{
15
Console.WriteLine("Tushingni borib suvga ayt!");
16
}
17
}
18
}
19
}
Copied!
Bu dasturda siz if-else ni strukturasini ko’rdingiz Bu structuraga dastur
Mana sizga tushuntirish)))
Shunday qaraydi demak shart true bolsa chap tarafga false bo’lsa o’ng tarafga qarab ketadi. Bu yerda algoritm tarmoqlanayapti shundaymi. Yuqorida siz fikrlagan dastur natijasida Console oynaga “yoqib yuborish” kerak degan yozuv chiqadi yana bir qarang va fikrlab ko’ring. Hullas If kalit so’zidan keyin kelgan shart true bo’lsa if ning ichidagi jingalak qavslar ichidagi kod bajariladi, false bo’lsa else ning ichidagi jingalak qavslar ichidagi kod bajariladi. Hozir yozgan codelarimizni Jamlasak:
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
bool meningBirQopPulim = false;
9
if(meningBirQopPulim)
10
{
11
Console.WriteLine("Yoqib yuborish kerak");
12
}
13
else
14
{
15
Console.WriteLine("Tushingni borib suvga ayt!");
16
}
17
}
18
}
19
}
Copied!
Natijada Console oynaga “Tushingni borib suvga ayt” degan so’z chiqadi. Sababi meningBirQopPulim o’zgaruvchi false qiymat oldi shuning uchun if shartidaga shu o’zgaruvchi nomi yetarli chunki o’zi false qiymat qaytarib turibdi. Yanada yaxshiroq tushunishingiz uchun bir nechta dasturlar ko’rsataman:
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
int getNumber = 0;
9
if(getNumber == 0)
10
{
11
Console.WriteLine("Rost");
12
}
13
else
14
{
15
Console.WriteLine("Yolg'on")
16
}
17
}
18
}
19
}
20
Copied!
Natija: "Rost"
! Agar if yoki else ning operatori bitta bolsa jingalak qavslar shart emas!(qoyilsa ham qoyilmasa ham to’g’ri)
1
using System;
2
namespace MyProgram
3
{
4
class Program
5
{
6
static void Main(string[] args)
7
{
8
int DunyoMojizalari = 6;
9
if (DunyoMojizalari == 7) Console.WriteLine("Hammasi joyida");
10
else if (DunyoMojizalari < 7)
11
{
12
Console.WriteLine("Mo'jizalarda Kamchilik bor");
13
Console.WriteLine("Aslida 7 ta bo'lish kerak edi");
14
}
15
else Console.WriteLine("Ko'payib ketdi");
16
}
17
}
18
}
19
Copied!
Natija: Mo'jizalarda Kamchilik bor Aslida 7 ta bo'lish kerak edi Agar bu yerda qavslarni qo’ymaganimizda edi natija: “Mo'jizalarda Kamchilik bor” degan so’z chiqardi.