Loading...

Өзгөрмөлөр жана константалар

Программада маалыматтарды сактоо үчүн өзгөрмөлөр колдонулат. Өзгөрмө белгилүү бир типтеги маани сакталган эс тутумдун аталышын билдирет. Өзгөрмөнүн түрү, аты жана мааниси бар. Тип өзгөрмөнүн кандай маалыматты сактай алаарын аныктайт.

 

Колдонуудан мурун ар кандай өзгөрмөнү аныктоо керек. Өзгөрмөнү аныктоонун синтаксиси төмөнкүдөй:

@A@тип өзгөрмөнүн_аты;@A@

Башында өзгөрмөнүн түрү, анан анын аты келет. Төмөнкү талаптарга жооп берген каалаган аталыш өзгөрүлмө ат катары иштей алат:

  1. Ат каалаган сандарды, тамгаларды жана астын сызуу белгисин камтышы мүмкүн, мында ысымдагы биринчи белги астынкы сызык же тамга болушу керек
  2. Ысымда тыныш белгилери жана боштуктар болбошу керек.
  3. Аты C# тилдин ачкыч сөзү болушу мүмкүн эмес. Мындай сөздөр көп эмес, Visual Studio иштеп жатканда өнүгүү чөйрөсү ачкыч сөздөрдү көк түс менен баса белгилейт.

 

Өзгөрмөнүн аталышы ар кандай болушу мүмкүн, бирок өзгөрмөлөргө алардын максаты жөнүндө айта турган сүрөттөөчү аталыштар берилиши керек. Мисалы, эң жөнөкөй өзгөрмөнү аныктайлы:

@A@string name;@A@

Бул учурда, string тибине ээ болгон name өзгөрмө аныкталат, башкача айтканда, өзгөрмө сапты билдирет. Өзгөрмөнүн аныктамасы инструкция болгондуктан, андан кийин үтүрлүү чекит коюлат.

 

Андан ары, өзгөрмө аталышы менен, анын мааниси сакталган эс тутумунун аймагына кайрыла алабыз.                  Ошондой эле, биз аныктамада өзгөрмөгө дароо маани бере алабыз. Бул ыкма инициализация деп аталат:

@A@string name = "Perizat";@A@

Өзгөрмөлөрдүн айырмалоочу өзгөчөлүгү-бул программада алардын маанисин кайра-кайра өзгөртүүгө болот. Мисалы, биз өзгөрмөнү аныктай турган кичинекей программа түзөбүз, анын маанисин өзгөртөбүз жана консолго чыгарабыз:

@A@

using System;

class HelloWorld {

  static void Main() {

      string name = "Perizat";  // определяем переменную и инициализируем ее

Console.WriteLine(name);    // Tom

name = "Asel";       // меняем значение переменной

Console.WriteLine(name); // Bob

 

name = "Gullira";       // меняем значение переменной

Console.WriteLine(name);    // Bob

  }

}@A@

@T@

 Perizat

  Asel

  Gullira@T@

Константа

Өзгөрмөлөрдүн айырмалоочу өзгөчөлүгү - биз программанын иштөө процессинде алардын маанисин өзгөртө алабыз. Бирок, андан тышкары, C# константалары бар. Константаны аныктоодо сөзсүз түрдө инициализациялоо керек жана аныкталгандан кийин константанын маанисин өзгөртүү мүмкүн эмес

 

Константалар программада өзгөрбөшү керек болгон мындай маанилерди сүрөттөө үчүн арналган. Константаларды аныктоо үчүн const ачкыч сөзү колдонулат ошол константа типтин алдында көрсөтүлгөн:

@A@const string NAME = "Perizat";  // константаларды аныктайбыз@A@

Ошентип, бул учурда "Perizat" сабын сактап турган name константасы аныкталат. Бул үчүн сейрек эмес константалардын аталышы чоң тамга менен колдонулат, бирок бул конвенциядан башка эч нерсе эмес.

 

Константаларды колдонууда биз аларды бир гана жолу жарыялай аларыбызды жана компиляция учурунда алар аныкталууга тийиш экенин эстен чыгарбоо керек. Ошентип, кийинки учурда биз ката кетиребиз, анткени константага баштапкы маани берилген эмес:

@E@const string NAME;  // ! Ката -  NAME константасы инициализацияланган эмес@E@

 

Мындан тышкары, биз программанын жүрүшүндө аны өзгөртө албайбыз:

@E@const string NAME = "Perizat";  // константаны аныктайбыз

NAME = "Bob";   // !Ката - константанын маанисин өзгөртүү мүмкүн эмес@E@

Ошентип, эгерде биз программада кээ бир маалыматтарды сакташыбыз керек болсо, бирок аны өзгөртпөшүбүз керек болсо, алар константа катары аныкталат. Алар өзгөртүлүшү мүмкүн болсо, анда алар өзгөрмөлөр катары аныкталат.