Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik het const trefwoord om een constant veld of een lokale constante te declareren. Constante velden en lokale bevolking zijn geen variabelen en kunnen niet worden gewijzigd. Constanten kunnen getallen, Booleaanse waarden, tekenreeksen of een null-verwijzing zijn. Maak geen constante om informatie weer te geven die u in de loop van de tijd verwacht te wijzigen. Gebruik bijvoorbeeld geen constant veld om de prijs van een service, een productversienummer of de merknaam van een bedrijf op te slaan. Deze waarden kunnen na verloop van tijd worden gewijzigd en omdat compilers constanten doorgeven, moet andere code die met uw bibliotheken is gecompileerd, opnieuw worden gecompileerd om de wijzigingen te kunnen zien. Zie ook het alleen-lezen trefwoord. Bijvoorbeeld:
const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";
Geïnterpoleerde tekenreeksen kunnen constanten zijn als alle gebruikte expressies ook constante tekenreeksen zijn. Met deze functie kunt u de code verbeteren waarmee constante tekenreeksen worden gemaakt:
const string Language = "C#";
const string Platform = ".NET";
const string FullProductName = $"{Platform} - Language: {Language}";
De C#-taalreferentiedocumenten beschrijven de meest recent uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.
De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.
Aanbeveling
Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.
Het type van een constante declaratie geeft het type aan van de leden die de declaratie introduceert. De initialisatiefunctie van een lokale constante of een constant veld moet een constante expressie zijn die de compiler impliciet kan converteren naar het doeltype.
Een constante expressie is een expressie die de compiler volledig kan evalueren tijdens het compileren. Daarom zijn de enige mogelijke waarden voor constanten van verwijzingstypen tekenreeksen en een null-verwijzing.
U kunt meerdere constanten declareren in één constantedeclaratie, zoals:
public const double X = 1.0, Y = 2.0, Z = 3.0;
De static modifier is niet toegestaan in een constante declaratie.
Een constante kan als volgt deelnemen aan een constante expressie:
public const int C1 = 5;
public const int C2 = C1 + 100;
Notitie
Het alleen-lezen trefwoord verschilt van het const trefwoord. U kunt alleen een const veld initialiseren bij de declaratie van het veld. U kunt een readonly veld initialiseren bij de declaratie of in een constructor. Daarom kunnen readonly velden verschillende waarden hebben, afhankelijk van de gebruikte constructor. Hoewel een const veld een compilatietijdconstante is, kan het readonly veld worden gebruikt voor runtimeconstanten, zoals in deze regel: public static readonly uint l1 = (uint)DateTime.Now.Ticks;
Voorbeelden
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
*/
In het volgende voorbeeld ziet u hoe u een lokale constante declareert:
public class SealedTest
{
static void Main()
{
const int C = 707;
Console.WriteLine($"My local constant = {C}");
}
}
// Output: My local constant = 707
C#-taalspecificatie
Zie de volgende secties van de C#-taalspecificatievoor meer informatie: