Const (C#-Reference)
const Klíčového slova slouží k úpravám prohlášení pole nebo lokální proměnné.Určuje, že hodnota pole nebo místní proměnná je konstantní, což znamená, že nelze změnit.Příklad:
const int x = 0;
public const double gravitationalConstant = 6.673e-11;
private const string productName = "Visual C#";
Poznámky
Typ deklarace konstanty Určuje typ zavedené prohlášení členů.Konstantní výraz musí výnos hodnota cílového typu nebo typu, který lze implicitně převést na typ cíle.
Konstantní výraz, je výraz, který lze plně vyhodnotit v době kompilace.Proto možné pouze hodnoty konstanty referenční typy jsou string a null.
Deklarace konstanty můžete deklarovat více konstanty, jako například:
public const double x = 1.0, y = 2.0, z = 3.0;
static Modifikátor není povolen v deklarace konstanty.
Konstanta zúčastnit konstantní výraz takto:
public const int c1 = 5;
public const int c2 = c1 + 100;
[!POZNÁMKA]
Readonly klíčové slovo se liší od const klíčové slovo.A const pole lze inicializovat pouze v prohlášení pole.A readonly pole mohou být inicializovány v prohlášení nebo v konstruktoru.Proto readonly pole mohou mít různé hodnoty podle toho použít konstruktor.Také Ačkoli const pole je konstanta, kompilace, readonly pole lze použít pro spuštění konstanty, jako v tomto řádku:public static readonly uint l1 = (uint)DateTime.Now.Ticks;
Příklad
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()
{
SampleClass mC = new SampleClass(11, 22);
Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
Console.WriteLine("c1 = {0}, c2 = {1}",
SampleClass.c1, SampleClass.c2 );
}
}
/* Output
x = 11, y = 22
c1 = 5, c2 = 10
*/
Tento příklad ukazuje, jak používat konstanty jako místní proměnné.
public class SealedTest
{
static void Main()
{
const int c = 707;
Console.WriteLine("My local constant = {0}", c);
}
}
// Output: My local constant = 707
Specifikace jazyka C#
Další informace naleznete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.