Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj słowa kluczowego const , aby zadeklarować pole stałe lub stałą lokalną. Pola stałe i lokalne nie są zmiennymi i nie można ich modyfikować. Stałe mogą być liczbami, wartościami logicznymi, ciągami lub pustym odwołaniem. Nie twórz stałej reprezentującej informacje, które mają ulec zmianie w czasie. Na przykład nie używaj pola stałego do przechowywania ceny usługi, numeru wersji produktu ani nazwy marki firmy. Te wartości mogą się zmieniać wraz z upływem czasu i dlatego, że kompilatory propagują stałe, należy ponownie skompilować inny kod skompilowany wraz z bibliotekami, aby zobaczyć zmiany. Zobacz również słowo kluczowe readonly. Na przykład:
const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";
Ciągi interpolowane mogą być stałymi , jeśli wszystkie używane wyrażenia są również ciągami stałymi. Ta funkcja może poprawić kod, który kompiluje stałe ciągi:
const string Language = "C#";
const string Platform = ".NET";
const string FullProductName = $"{Platform} - Language: {Language}";
Dokumentacja języka C# zawiera ostatnio wydaną wersję języka C#. Zawiera również początkową dokumentację dla funkcjonalności w publicznych wersjach testowych nadchodzącego wydania języka.
Dokumentacja identyfikuje dowolną funkcję po raz pierwszy wprowadzoną w ostatnich trzech wersjach języka lub w bieżącej publicznej wersji zapoznawczej.
Wskazówka
Aby dowiedzieć się, kiedy funkcja została po raz pierwszy wprowadzona w języku C#, zapoznaj się z artykułem dotyczącym historii wersji języka C#.
Typ deklaracji stałej określa typ członków, które deklaracja wprowadza. Inicjator stałej lokalnej lub pola stałej musi być wyrażeniem stałym, które kompilator może niejawnie przekonwertować na typ docelowy.
Wyrażenie stałe to wyrażenie, które kompilator może w pełni ocenić w czasie kompilacji. Dlatego jedynymi możliwymi wartościami stałych typów odwołań są ciągi i odwołanie o wartości null.
Można zadeklarować wiele stałych w jednej deklaracji stałej, na przykład:
public const double X = 1.0, Y = 2.0, Z = 3.0;
Modyfikator static nie jest dozwolony w deklaracji stałej.
Stała może być częścią wyrażenia stałego w następujący sposób:
public const int C1 = 5;
public const int C2 = C1 + 100;
Notatka
Słowo kluczowe różni się od słowa kluczowego const. Pole można zainicjować const tylko przy deklaracji pola. Można zainicjować readonly pole w deklaracji lub w konstruktorze. W związku z tym readonly pola mogą mieć różne wartości w zależności od używanego konstruktora. Ponadto, mimo że pole const jest stałą czasu kompilacji, pole readonly może być używane dla stałych czasu wykonywania, jak w tym wierszu: public static readonly uint l1 = (uint)DateTime.Now.Ticks;
Przykłady
public class ConstTest
{
class SampleClass
{
public int x;
public int y;
public const int C1 = 5;
public const int C2 = C1 + 5;
public SampleClass(int p1, int p2)
{
x = p1;
y = p2;
}
}
static void Main()
{
var mC = new SampleClass(11, 22);
Console.WriteLine($"x = {mC.x}, y = {mC.y}");
Console.WriteLine($"C1 = {SampleClass.C1}, C2 = {SampleClass.C2}");
}
}
/* Output
x = 11, y = 22
C1 = 5, C2 = 10
*/
W poniższym przykładzie pokazano, jak zadeklarować stałą lokalną:
public class SealedTest
{
static void Main()
{
const int C = 707;
Console.WriteLine($"My local constant = {C}");
}
}
// Output: My local constant = 707
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz następujące sekcje specyfikacji języka C#: