Compartilhar via


#define (Referência de C#)

Você usa #define para definir um símbolo. Quando você usa o símbolo como sendo a expressão que é passada para a política de #if, a expressão será avaliada como true, como mostra o exemplo a seguir:

#define DEBUG

Comentários

Dica

A diretiva #define não pode ser usada para declarar valores constantes como geralmente é feito em C e em C++.Constantes em C# são mais bem definidas como membros estáticos de uma classe ou estrutura.Se você tiver várias dessas constantes, considere a criação de uma classe "Constantes" separada para armazená-las.

Os símbolos podem ser usados para especificar condições para compilação. É possível testar o símbolo com #if ou #elif. Você também pode usar o atributo conditional para executar a compilação condicional.

É possível definir um símbolo, mas você não pode atribuir um valor a um símbolo. A diretiva #define deve aparecer no arquivo antes que você use qualquer instrução que não sejam também diretivas de pré-processador.

Você também pode definir um símbolo com a opção de compilador /define. É possível excluir um símbolo com #undef.

Um símbolo que você define com /define ou com #define não está em conflito com uma variável do mesmo nome. Ou seja, um nome de variável não deve ser passado para uma diretiva de pré-processador e um símbolo só poderá ser avaliado por uma diretiva de pré-processador.

O escopo de um símbolo criado usando #define é o arquivo no qual o símbolo foi definido.

Como mostra o exemplo a seguir, você deve colocar as diretivas #define na parte superior do arquivo.

#define DEBUG
//#define TRACE
#undef TRACE

using System;

public class TestDefine
{
    static void Main()
    {
#if (DEBUG)
        Console.WriteLine("Debugging is enabled.");
#endif

#if (TRACE)
     Console.WriteLine("Tracing is enabled.");
#endif
    }
}
// Output:
// Debugging is enabled.

Para um exemplo de como excluir um símbolo, consulte #undef (Referência de C#).

Consulte também

Tarefas

Como compilar condicionalmente com Trace e Debug

Referência

Diretivas de pré-processador em C#

const (Referência de C#)

#undef (Referência de C#)

#if (Referência de C#)

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#