Pergunta

Em C você pode definir constantes como este

#define NUMBER 9

para que onde quer que número aparece no programa é substituído por 9. Mas Visual C # não faz isso. Como isso é feito?

Foi útil?

Solução

public const int NUMBER = 9;

Você precisaria para colocá-lo em um lugar de classe, eo uso seria ClassName.NUMBER

Outras dicas

Você não pode fazer isso em C #. Use a 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;  
}

Verifique Como: definir constantes em C # no MSDN:

Em C # pré-processador #define directiva não pode ser usado para definir constantes na maneira que é tipicamente utilizado em C e C ++.

em linguagem C: #define (por exemplo #define contador 100)

em linguagem assembly: equ (por exemplo, contador de equ 100)

em c # idioma: acordo com MSDN refrence : Você usa #define para definir um símbolo. Quando você usa o símbolo como a expressão que passou a directiva #if, a expressão avaliará a verdade, como o exemplo a seguir mostra:

# define DEBUG

A directiva #define pode não ser usado para valores constantes declara como é tipicamente feito em C e C ++. Constantes em C # são melhor definida como membros estáticos de uma classe ou struct. Se você tem vários desses constantes, considerar a criação de um separado "constantes" classe para mantê-los.

Em C #, por biblioteca MSDN, temos a palavra-chave "const" que faz o trabalho da palavra-chave "#define" em outras línguas.

"... quando o compilador encontra um identificador constante em C # código fonte (por exemplo, meses), ele substitui o valor literal diretamente no código de linguagem intermediária (IL) que produz." ( https://msdn.microsoft.com/en-us/library/ms173119. aspx )

Inicializar constantes no momento da declaração, pois não há alterá-los.

public const int cMonths = 12;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top