4.4. C# да асосий операциялар
Инкремент ва декремент амаллари операндни 1 қийматга ошириш ва камайтириш учун хизмат қилади. Уларнинг икки хил формаси бор бўлиб, биринчиси префиксли форма: бунда амал белгиси операнднинг олд тарафида жойлашади, иккинчиси постфиксли форма бўлиб: бунда амал белгиси операнддан кейин жойлашади. Префиксли формада аввал таъкидлаб ўтганимиздек, биринчи навбатда операнд қиймати 1 бирликка оширилади(камайтирилади), сўнгра операнднинг янги ҳосил бўлган қийматидан ифодада фойдаланилади. Постфиксли формада эса операнд шу жараёнгача бўлган қиймати ифодада ҳисобланиб бўлингандан сўнг бир бирликка орттирилади(камайтирилади).
Стандарт инкремент ва декремент амалларидан бутун, белгили, ҳақиқий ва пулли типларда фойдаланиш мумкин.
new операцияси
new операцияси янги объект яратиш учун хизмат қилади. Синтаксиси:
new тип ( [ аргументлар ] )
Мисол:
object z = new object();
int i = new int(); // бу холат int i = 0; га тенг кучли.
new операцияси бажаралиш жараёнида биринчи навбатда керакли хажмдаги жой хотирадан ажратилади, сўнгра конструктор усули орқали керакли объект инициализация қилинади. Қийматли типлар new ёрдамида эълон қилинганда ўзгарувчига бошланғич қиймат сифатида 0 ўзлаштирилади.
Унар айириш амали
Унар айириш амали (-) сонли типдаги операнднинг ишорасини унинг аксига айлантириш учун хизмат қилади.
Мантиқий айириш ( !) амали - мантиқий bool типли катталиклар учун мўлжалланган. Мантиқий айириш амали операнд қийматини унинг аксига ўзгартириш учун хизмат қилади. Яъни мантиқий айириш амали қўлланганда операнднинг қиймати true бўлса, унинг қиймати false га алмшади, агар операнднинг қиймати false бўлса, унинг қиймати true га алмашади.
Разрядли айириш ( ~ ) амали – кўпинча битли айириш амали деб ҳам юритилади. Разрядли айириш амали int, uint, long или ulong типли операнднинг иккилик кодидаги ҳар бир разрядини инверсия қилиш учун қўлланилади. Яъни ушбу амални қўлллаш натижасида операнднинг иккилик кодидаги 1 га тенг бўлган разрядлари 0 га, 0 га тенг бўлган разрядлари эса 1 га алмашади. Масалан:
int v = 153; // 153 нинг иккилик кодидаги қиймати 10011001 га тенг
int n = ~v; // натижа: n нинг қиймати 102 га,унинг иккилик коддаги қиймати эса 01100110 га тенг бўлади.
Унар амалларда иштирок этувчи операнд битта бўлади.
* Унар қўшиш амали қўлланганда операнднинг арифметик қиймати ўзгрмайди, лекин агар унинг типи учун арифметик операция аниқланмаган бўлса унинг типи ўзгариши мумкин.
Do'stlaringiz bilan baham: |