Come definire le costanti in Visual C # come #define in C?
Domanda
In C puoi definire costanti come questa
#define NUMBER 9
in modo che ovunque venga visualizzato NUMBER nel programma venga sostituito con 9. Ma Visual C # non lo fa. Come viene fatto?
Soluzione
public const int NUMBER = 9;
Dovresti metterlo in una classe da qualche parte e l'utilizzo sarebbe ClassName.NUMBER
Altri suggerimenti
Non puoi farlo in C #. Utilizzare invece un const int
.
static class Constants
{
public const int MIN_LENGTH = 5;
public const int MIN_WIDTH = 5;
public const int MIN_HEIGHT = 6;
}
// elsewhere
public CBox()
{
length = Constants.MIN_LENGTH;
width = Constants.MIN_WIDTH;
height = Constants.MIN_HEIGHT;
}
Controlla Procedura: definire le costanti in C # su MSDN:
In C # il preprocessore
#define
la direttiva non può essere utilizzata per definire costanti nel modo in cui è in genere usato in C e C ++.
in linguaggio c: #define
(ad es. #define counter 100)
in linguaggio assembly: equ (ad esempio counter equ 100)
in linguaggio c #: secondo msdn refrence :
Usa #define
per definire un simbolo. Quando si utilizza il simbolo come espressione passata alla direttiva #if
, l'espressione verrà valutata come vera, come mostrato nell'esempio seguente:
# define DEBUG
La direttiva #define
non può essere utilizzata per dichiarare valori costanti, come avviene normalmente in C e C ++. Le costanti in C # sono meglio definite come membri statici di una classe o struttura. Se hai diverse costanti di questo tipo, prendi in considerazione la possibilità di creare una "Costanti" separate classe per tenerli.
In C #, per libreria MSDN, abbiamo la "quot" const " parola chiave che svolge il lavoro di " # define " parola chiave in altre lingue.
" ... quando il compilatore incontra un identificatore costante nel codice sorgente C # (ad esempio, mesi), sostituisce il valore letterale direttamente nel codice di linguaggio intermedio (IL) che produce. " ( https://msdn.microsoft.com/en-us/library/ms173119. aspx )
Inizializza le costanti al momento della dichiarazione poiché non è possibile modificarle.
public const int cMonths = 12;