Да си припомним: какво са класовете и обектите?


Константи инициализирани по време на компилация (compile-time constants)



страница50/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   46   47   48   49   50   51   52   53   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Константи инициализирани по време на компилация (compile-time constants)

Константите, които се изчисляват по време на компилация се декларират по следния начин, използвайки модификатора const:



[] const ;

Константите, декларирани със запазената дума const, са статични полета. Въпреки това, в декларацията им не се изисква (нито е позволена от компилатора) употребата на модификатора static:



Въпреки, че константите декларирани с модификатор const са статични полета, в декларацията им не трябва и не може да се използва модификаторът static.

Например, ако искаме да декларираме като константа числото "пи", познато ни от математиката, това може да стане по следния начин:

public const double PI = 3.141592653589793;

Стойността, която присвояваме на дадена константа може да бъде израз, който трябва да бъде изчислим от компилатора по време на компилация. Например, както знаем от математиката, константата "пи" може да бъде представена като приблизителен резултат от делението на числата 22 и 7:

public const double PI = 22d / 7;

При опит за отпечатване на стойността на константата:

public static void Main()

{

Console.WriteLine("The value of PI is: " + PI);



}

в командния ред ще бъде изписано:

The value of PI is: 3.14285714285714

Ако не дадем стойност на дадена константа по време на декларацията й, а по-късно, ще получим грешка при компилация. Например, ако в примера с константата PI, първо декларираме константата, и по-късно се опитаме да й дадем стойност:

public const double PI;

 

// ... Some code ...



 

public void SetPiValue()

{

// Attempting to initialize the constant PI



PI = 3.141592653589793;

}


Компилаторът ще изведе грешка подобна на следната, указвайки ни реда, на който е декларирана константата:

A const field requires a value to be provided

Нека обърнем внимание отново:



Константите декларирани с модификатор const задължи­телно се инициализират в мо­мента на тяхната декларация.



Сподели с приятели:
1   ...   46   47   48   49   50   51   52   53   ...   84




©obuch.info 2024
отнасят до администрацията

    Начална страница