Shart operatori boshqarishni qaysi tarmoqqa uzatishni ta’minlaydi. Shart operatorlaridan biri bu if shart operatoridir. if shart operatorining 3 xil ko’rininshi bo’lib, eng soda ko’rinishi quyidagicha:
if(shart) operatorlar;
Shart operatorining natijasi bool tipiga tegishli bo’lib, true(rost) yoki false(yolg’on) bo’lishi mumkin. C# da quyidagi munosabat amallari mavjud:
== - tenglik;
> - katta;
< - kichik;
>= - katta yoki teng;
<= - kichik yoki teng;
!= - teng emas.
if shart operatorining ikkinchi bir ko’rinishi if-else bo’lib, u quyidagicha yoziladi:
if(shart) operatorlar1;
else operatorlar2;
Agar shart rost bo’lsa, operator1 bajariladi, agar yolg’on bo’lsa, operator2 bajariladi. Agarda operator1 yoki operator2 dan so’ng bajarilishi lozim bo’lgan amallar soni 1 tadan ortiq bo’lsa ular figurali {} qavslar orasida yozilishi lozim. Masalan: a va b sonlarni kattasini a ga kichigini b ga yozish dasturi
int a, b, c;
a = 10;
b=20;
if (a <b) { c = a; a = b; b = c; }
Console.WriteLine(a+" , "+b);
Console.ReadKey();
Bir o’zgaruvchi qiymatini bir necha shartlar orqali tekshirish uchun ichma-ich bir necha shart operatorlaridan foydalanish mumkin:
int temp = 25;
if (temp > 21)
{
if (temp < 26)
{
Console.WriteLine("Temperatura meyorda");
if (temp == 24)
{
Console.WriteLine("ishlash sharoiti optimal");
}
else
{
Console .WriteLine ("ishlash sharoiti optimal emas\n" + "optimal temperatura 24");
}
}
}
Console.ReadKey();
Ko’p shartlilik qo’llanilishi. Bunda bir necha shartni bir vaqtda tekshirish zarurati hisobga olinadi. C# tilida buning uchun maxsus qo’shish (shartni) kalit so’zlari mavjud : && - va, | | - yoki, ! – inkor (!= bo’lsa, teng emas ma’nosida). Masalan:
int n1 = 5;
int n2 = 0;
if ( (n1 == 5) && (n2 == 5))
Console.WriteLine("Salom");
else
Console.WriteLine("Yoshlar");
if ((n1 == 5) || (n2 == 5))
Console.WriteLine("Buxoro");
else
Console.WriteLine("Vaqt");
Console.ReadKey();
Bu misolda har bir if operatori ikkita shartni tekshirib boradi.
Agar tekshirilayotgan shart nisbatan sodda bo’lsa, shart amalini “?: ” ko’rinishini ishlatish mumkin. Bu operator quyidagi ko’rinishga ega:
<shart ifoda>? <ifoda1>:<ifoda2>;
if shart operatoriga o’xshash holda bus hart amali quyidagicha ishlaydi: agar <shart ifoda> rost(true) bo’lsa <ifoda1> bajariladi, aks holda <ifoda2>. Odatda ifodalar qiymatlari birorta o’zgaruvchiga o’zlashtiriladi.
Misol: 2 ta sondan kattasini tuzuvchi programma tuzilsin.
int a,b;
a=int.Parse(Console.ReadLine());
b=int.Parse(Console.ReadLine());
int max = (a>b) ? a : b;
Console.WriteLine(max);
Console.ReadKey();
Masalan:
Haqiqiy turga tegishli x o‘zgaruvchi berilgan. Uning qiymatiga mos keluvchi f funksiyaning qiymati topilsin.
f: Console.Write("x=");
double x=double.Parse(Console.ReadLine());
if(x>0)
{
if(0<x && x<2)
Console.WriteLine("f(x)="+Math.Pow(x,2));
else
Console.WriteLine("f(x)="+ 4);
}
else
Console.WriteLine("f(x)=" + -x);
goto f;
Console.ReadKey();