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?

È stato utile?

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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top