Compartilhar via


# if (translation from VPE for Csharp Reference)

#if permite que você começar uma diretiva condicional, teste um símbolo ou símbolos para ver se eles avaliados como true. Se eles avaliados como true, o compilador avalia todo o código entre o #if o mais próximo # endif diretiva.Por exemplo,

#define DEBUG
// ...
#if DEBUG
    Console.WriteLine("Debug version");
#endif

Você pode usar os operadores == (igualdade) != (desigualdade) && (e) e || (ou) para avaliar vários símbolos.Você também pode agrupar os símbolos e operadores com parênteses.

Comentários

#if, juntamente com o # else, # elif, # endif, # define, and #undef diretivas, permite que você inclui ou exclui o código com base em condição de um ou mais símbolos.Isso pode ser mais útil durante a compilação de código para uma compilação de depurar ou durante a compilação de uma configuração específica.

Uma diretiva condicional que começa com um #if diretiva explicitamente deve ser terminada com um #endif diretiva.

#define permite que você definir um símbolo, de modo que, usando o símbolo de sistema autônomo a expressão passada para o #if diretiva, a expressão será avaliada sistema autônomo true.

Você também pode definir um símbolo com o / defineopção do compilador .Você pode remover 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 de 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ó pode ser avaliado por uma diretiva de pré-processamento.

O escopo de um símbolo criado com #define é o arquivo no qual ela foi definida.

Exemplo

// preprocessor_if.cs
#define DEBUG#define VC_V7
using System;
public class MyClass 
{
    static void Main() 
    {
#if (DEBUG && !VC_V7)
        Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && VC_V7)
        Console.WriteLine("VC_V7 is defined");
#elif (DEBUG && VC_V7)
        Console.WriteLine("DEBUG and VC_V7 are defined");
#else
        Console.WriteLine("DEBUG and VC_V7 are not defined");
#endif
    }
}

DEBUG and VC_V7 are defined

Consulte também

Conceitos

Guia de Programação C#

Referência

Directives Preprocessor C#

Outros recursos

Referência C#