Stałe (Przewodnik programowania w języku C#)
Stałe są wartościami niezmiennymi, które są znane w czasie kompilacji i nie należy zmieniać dla życia programu.Stałe są zgłoszone jako const modyfikator.Tylko C# wbudowanych typów (z wyłączeniem Object) mogą być zadeklarowane jako const.Aby uzyskać listę wbudowanych typów, zobacz Tabela typów wbudowanych (odwołanie w C#).Typy zdefiniowane przez użytkownika, łącznie z klasami, struktur i tablice, nie może być const.Użyj tylko do odczytu modyfikator do tworzenia klasy, struktury lub tablicy, która jest inicjowana jeden raz w czasie wykonywania (na przykład w konstruktorze), a następnie nie mogą być zmieniane.
C# nie obsługuje const metod, właściwości lub zdarzenia.
Typ wyliczenia umożliwia zdefiniowanie stałych nazwanego integralną wbudowanych typów (na przykład int, uint, long, i tak dalej).Aby uzyskać więcej informacji, zobacz enum (odwołanie w C#).
Musi być zainicjowany stałych, jak są one zgłoszone.Na przykład:
class Calendar1
{
public const int months = 12;
}
W tym przykładzie stała months jest zawsze 12 i nie można zmienić nawet przez ta sama klasa.W rzeczywistości, gdy kompilator napotka stałej identyfikator w kodzie źródłowym języka C# (na przykład, months), jej substytuty bezpośrednio na kod języka pośredniego (IL), który produkuje wartość literału.Ponieważ żaden adres zmiennej skojarzone ze stałą w czasie wykonywania, const pól nie mogą być przekazywane przez odwołanie i nie może pojawić się jako wartość l w wyrażeniu.
[!UWAGA]
Gdy odwołujesz się do wartości stałych w innym kodzie, takich jak biblioteki DLL należy zachować ostrożność.Jeśli nowa wersja biblioteki DLL definiuje nową wartość dla stałej, program nadal posiadają stara wartość literału, dopóki nie jest ponownie kompilowana przeciwko nowej wersji.
Wiele stałych tego samego typu, może być deklarowana w tym samym czasie, na przykład:
class Calendar2
{
const int months = 12, weeks = 52, days = 365;
}
Wyrażenie, które służy do inicjowania stałej może odnosić się do innej stałej, jeśli nie tworzy odwołanie cykliczne.Na przykład:
class Calendar3
{
const int months = 12;
const int weeks = 52;
const int days = 365;
const double daysPerWeek = (double) days / (double) weeks;
const double daysPerMonth = (double) days / (double) months;
}
Stałe może zostać oznaczony jako publicznych, prywatnych, chronione, wewnętrzny, lub protectedinternal.Modyfikatory dostępu, te definiują, jak użytkownicy klasy mają dostęp do stałej.Aby uzyskać więcej informacji, zobacz Modyfikatory dostępu (Przewodnik programowania w języku C#).
Stałe są dostępne, jak gdyby były statyczne pola, ponieważ wartość stałej jest taka sama dla wszystkich wystąpień tego typu.Nie używać static słowo kluczowe, aby je zadeklarować.Wyrażenia, które nie należą do klasy, która definiuje stałą należy użyć nazwy klasy, okres i nazwa stałej stałej dostęp do.Na przykład:
int birthstones = Calendar.months;
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.
Zobacz też
Informacje
Klasy i struktury (Przewodnik programowania w języku C#)
Właściwości (Przewodnik programowania w języku C#)
Typy (Przewodnik programowania w języku C#)
Koncepcje
Przewodnik programowania w języku C#