C# ir .NET pamokėlės #3. Sąlygos sakiniai

Sąlygos sakinys, tai if...else formuluotė. Jeigu esate programavę su kokia kita kalba, veikiausiai jau iš kart žinote apie ką aš kalbu. Niekuo tai nesiskirs nuo kitų kalbų, tačiau kam visa tai yra nauja prašome atidžiai skaityti toliau. Žinoma kviečiu prisijungti ir visus likusius.

if...else struktūra yra tokia:
if (sąlyga)
{
   // Atliekami veiksmai, kai sąlyga yra tenkinama
}
else
{
   // Atliekami veiksmai, kai sąlygą nėra tenkinama
}

Iš kart pateiksiu ir pavyzdį:

int x = 2;
if (x == 2)
{
   Console.WriteLine("Taip, du");
}
else
{
   Console.WriteLine("Skaičius nėra dvejetas");
}

Kaip matome, šiame pavyzdyje aš priskyriau kintamajam x skaičių 2. Tuomet tikrinau sąlygą ar x yra lygus dvejetui ir jeigu taip, atspausdinu „Taip, du“, priešingu atveju (kurio, realiai, niekada ir nebus) – „Skaičius nėra dvejetas“. if sąlygoje, visada turi būti bool tipo sąlyga, t.y. turi būti true/false sąlyga ir tam yra skirti šeši operatoriai:

a == b Ar lygūs
a != b Ar nelygūs
a > b Ar daugiau
a < b Ar mažiau
a >= b Ar daugiau arba lygu
a <= b Ar mažiau arba lygu

Verta paminėti, jog else sąlyga yra neprivaloma. Gali būti atliekami veiksmai tik tada, kai sąlyga yra tenkinama. Be aukščiau paminėtų šešių operatorių, sąlygoje gali būti ir atskiros funkcijos kreipinys, kuris visados gražina arba true, arba false. Pavyzdžiui:

if (ArTuriuPinigu())
{
   Console.WriteLine("Taip, einam į filmą");
}

Tačiau apie funkcijas aptarsime kitą kartą.

switch sąlyga

switch sakinio reikšmė yra identiška if..else. Tačiau šio kodo struktūra yra aiškesne, jei reikia patikrinti daug sąlygų, kai tuo tarpu naudojantis if..else kodas pataptu griozdiškas. switch struktūra:

switch (int kintamasis)
{
   case reiksme1:
      // Veiksmai, kai tenkinama ši sąlyga
      break;
   case reiksme2:
      // Veiksmai, kai tenkinama ši sąlyga
      break;
   default:
      // Veiksmai, kuomet netenkinama nei viena ankstesnė sąlyga
}

int kintamasis yra reikšmė, perduodama switch sąlygai. Tai gali būti bet kokio tipo skaičiaus tipo kintamasis, gali netgi būti char tipo, t.y. raidė, tačiau ją vaizduojant kaip raidės kodą. Šiek tiek nukrypstant nuo temos, kiekvienas simbolis turi savo kodą. Pavyzdžiui raidė a yra žymima 97. Grįžtam, kur sustojom. Sąlygoje gali būti ir kreipinys į kitą funkciją, kuri gražintų skaičių. Gali būti netgi ir string tipo kintamasis su tekstu.

Taigi, kaip veikia ši sąlyga. Kaip ir minėjau, tai ekvivalentu if..else sąlygai. Perduota reikšmė yra patikrinama su reiksme1 reikšme. Jeigu perduota sąlyga ir yra lygi tai konstantai, tuomet yra atliekami viduje esantys veiksmai. Jeigu pirmoji konstanta nėra lygi sąlygai, tuomet einama per visas kitas konstantas ieškant, ar kuri nors sutaps, kol pasiekiama default dalis, kuri yra atliekama, jeigu nei viena konstanta neatitinka sąlygos. Žinoma default gali ir nebūti, ji yra nebūtina. Pavyzdys:

int x = 5;
switch (x)
{
   case 4:
      Console.WriteLine("x = 4");
      break;
   case 5:
      Console.WriteLine("x = 5");
      break;
   case 6:
       Console.WriteLine("x = 6");
       break;
   default:
      Console.WriteLine("x yra kažkoks kitoks skaičius");
}

Jeigu mums reikia atlikti veiksmus, kai x yra lygus 4 ir 5, tuomet kodas atrodytų taip:

int x = 4;
switch (x)
{
   case 4:
   case 5:
      Console.WriteLine("x = 5");
      break;
   case 6:
      Console.WriteLine("x = 6");
      break;
   default:
      Console.WriteLine("x yra kažkoks kitoks skaičius");
}

Kas čia įvyko? Mes x kintamajam priskyrėm skaičių 4. Sąlygoje yra tikrinama ar x yra lygus 4, tuomet, kadangi nėra break,  veiksmai peršoka į konstantos su penketu veiksmus. Break yra skirtas, kad būtų atlikti tik tos konstantos veiksmai ir jokie toliau sekantys.

Pabaigai, prisiminkite, kad konstantos turi būti pastovūs nariai su pastoviomis reikšmėmis. Negali būti kiti kintamieji, kurie laikui bėgant galėtų keisti reikšmę.

Susiję įrašai:

  1. C# ir .NET pamokėlės #4. Ciklai Ciklas, tai kokio nors veiksmo atlikimas keletą kartų. Pavyzdžiui, kad...
  2. C# ir .NET pamokėlės #5. Metodai Tai vienas iš naudingiausių įrankių kuriant programas. Jei esate dirbę...
  3. C# ir .NET pamokėlės #6. Masyvai Masyvas (angl. Array) – rinkinys vienodo tipo informacijos, kuri yra...
  4. C# ir .NET pamokėlės #7. String Sveiki. Kadangi dažnai įvairiose programose reikia atlikti įvairius veiksmus su...
  5. C# ir .NET pamokėlės #1 Visai nesenai kilo tokia idėja pradėti rašyti šiokias tokias pamokėles...
Topix Rokit Twitter Facebook Digg Delicious Stumbleupon

1 komentaras apie įrašą „C# ir .NET pamokėlės #3. Sąlygos sakiniai“

  1. Pritruko if salygoje && bei ||, taip pat else if pavizdukas manau praverstu. Ar apie situos bus rasoma sekancioje pamokeleje?

Palikti atsakymą