KNOW INTUIT, Лекция, Променливи, операции, изрази
Справка: Основни C# операции
Този раздел описва накратко синтаксиса и използването на всички C# операции, с изключение на някои основни, които са разгледани по-късно в свързания материал.
увеличение и намаление
Операторите за увеличаване (++) и намаляване (--) увеличават и намаляват операнда с единица. Те имат две форми -префикс, когато знакът на операцията се записва пред операнда, ипостфикс. В префиксната форма първо се променя операндът и след това неговата стойност става резултатната стойност на израза, докато в постфиксната форма стойността на израза е началната стойност на операнда, след което се променя.
Съществуват стандартни операции за нарастване за цели, символни, реални и финансови стойности.
Операция нова
Операторът new се използва за създаване на нов обект. Операционен формат:
С тази операция можете да създавате обекти от референтен и стойностен тип, например:
При изпълнение на новата операция първо се заделя необходимото количество памет (за референтни типове в купчината, за стойностни типове в стека), след което се извиква така наречениятконструктор по подразбиране, тоест методът, с който се инициализира обектът. На променлива от тип стойност се присвоявастойност по подразбиране, която е нула от съответния тип.
Операции за отрицание
Аритметично отрицание(унарен минус - ) обръща знака на операнда. Стандартният оператор за отрицание е дефиниран за типовете int, long, float, double и decimal. Може да се прилага към стойности от други типове, ако за тях е възможно имплицитно преобразуване към тези типове.
Booleannegation(!) е дефинирано за тип bool.Резултатът от операцията е false, ако операндът е true, и true, ако операндът е false.
), често наричан побитово, обръща всеки бит в двоичното представяне на операнд от тип int, uint, long или ulong.
Изрично преобразуване на типа
Използва се операция за изрично преобразуване на стойност от един тип в друг. Това се изисква, когато не съществува имплицитно преобразуване. При преобразуване от по-дълъг тип към по-къс тип информацията се губи. Операционен формат:
Тук типът е името на типа, към който трябва да се преобразува, а изразът най-често е името на променлива, например:
Умножение, деление и остатък от делението
Операцията умножение( * ) връща резултата от умножението на два операнда. Стандартната операция за умножение е дефинирана за типовете int, uint, long, ulong, float, double и decimal. Може да се прилага към стойности от други типове, ако за тях е възможно имплицитно преобразуване към тези типове. Резултатният тип на операцията е равен на "най-големия" тип на операндите, но не по-малко от int.
Всички възможни стойности за реални операнди са показани в таблица 3.2. Символите x и y означават крайните положителни стойности, символът z означава резултата от реалната операция на умножение. Ако резултатът е твърде голям, за да бъде представен от дадения тип, се приема, че е безкрайност, ако е твърде малък, се третира като 0. NaN (не е число) означава, че резултатът не е число.
Операцията за деление( / ) изчислява частното от деленето на първия операнд на втория. Стандартният оператор за деление е дефиниран за типовете int, uint, long, ulong, float, double и decimal. Може да се прилага за количества от други видове, ако заима имплицитно преобразуване към тези типове. Типът резултат се определя от правилата за преобразуване, но не по-малко от int.
Ако и двата операнда са цели числа, резултатът от операцията се закръгля надолу до най-близкото цяло число. Ако делителят е нула, се хвърля System.DivideByZeroException.
Ако поне един от операндите е реален, дробната част от резултата от разделянето не се изхвърля и всички възможни стойности са показани в таблица 3.3.
За финансови стойности (от тип decimal), при разделяне на 0 и препълване се генерират съответните изключения, когато редът изчезне, резултатът е 0.
Операцията за остатък( % ) също се интерпретира по различен начин за цели, реални и финансови стойности. Ако и двата операнда са цели числа, резултатът от операцията е x - (x / y) * y. Ако делителят е нула, се хвърля System.DivideByZeroException.
Ако поне един от операндите е реален, резултатът от операцията се изчислява по формулата x-n * y, където n е най-голямото цяло число, по-малко или равно на резултата от деленето на x на y. Всички възможни комбинации от стойности на операнд са показани в таблица 3.4.
За финансови стойности (десетичен тип), когато се получи остатък от деление на 0 и когато възникне препълване, се генерират съответните изключения, когато редът изчезне, резултатът е 0. Знакът на резултата е равен на знака на първия операнд.
Събиране и изваждане
Операцията събиране( + ) връща сумата от двата операнда. Стандартната операция за добавяне е дефинирана за типовете int, uint, long, ulong, float, double и decimal. Може да се прилага към стойности от други типове, ако има имплицитно преобразуване към тези типове за тях. Типът на резултата от операцията е равен на "най-големия" от типовете операнди, но не по-малко отвътр.
Ако и двата операнда са цели или десетични и резултатът от операцията е твърде голям, за да бъде представен от дадения тип, се хвърля System.OverflowException.
Всички възможни стойности за реални операнди са показани в таблица 3.5.
Операцията за изваждане( - ) връща разликата на двата операнда. Стандартната операция за изваждане е дефинирана за типовете int, uint, long, ulong, float, double и decimal. Може да се прилага към стойности от други типове, ако има имплицитно преобразуване към тези типове за тях. Резултатният тип на операцията е равен на "най-големия" тип на операндите, но не по-малко от int.
Ако и двата операнда са цели или десетични и резултатът от операцията е твърде голям, за да бъде представен от дадения тип, се хвърля System.OverflowException.
Всички възможни стойности на резултатите от изваждането за реални операнди са показани в таблица 3.6. Символите x и y означават крайните положителни стойности, символът z означава резултата от реална операция на изваждане. Ако x и y са равни, резултатът е положителна нула. Ако резултатът е твърде голям, за да бъде представен от дадения тип, той се приема като стойност "безкрайност" със същия знак като x - y , ако е твърде малък, той се приема като 0 със същия знак като x - y .