Latest web development tutorials

C directivas de pré-processador #

Instrua o pré-processador do compilador antes do início efectivo compilar o pré-tratamento da informação.

Todas as directivas de pré-processador está começando com #. E em uma linha, apenas caracteres em branco podem aparecer antes de uma directiva de pré-processador. pré-processador diretiva não é uma declaração, para que eles não são um ponto e vírgula; end ().

Compilador C # não tem um pré-processador separado, no entanto, gostaria de ter um pré-processador separado como a instrução é processada. Em C #, as directivas de pré-processador para o trabalho de compilação condicional. C e C ++ não tem instruções diferentes, eles não são usados ​​para criar uma macro. Um pré-processador diretiva deve ser a única instrução nessa linha.

C lista directivas de pré-processador #

A tabela a seguir apresenta as directivas C # pré-processador estão disponíveis:

预处理器指令描述
#define它用于定义一系列成为符号的字符。
#undef它用于取消定义符号。
#if它用于测试符号是否为真。
#else它用于创建复合条件指令,与 #if 一起使用。
#elif它用于创建复合条件指令。
#endif指定一个条件指令的结束。
#line它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。
#error它允许从代码的指定位置生成一个错误。
#warning它允许从代码的指定位置生成一级警告。
#region它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。
#endregion它标识着 #region 块的结束。

pré-processador #define

pré-processador diretiva #define cria constantes simbólicas.

#define permite definir um símbolo, de modo que, através da utilização do símbolo é passado para a expressão directiva # if como a expressão devolve verdadeiro. Sua sintaxe é a seguinte:

símbolo #define

O programa a seguir ilustra esse ponto:

#define PI 
using System;
PreprocessorDAppl namespace
{
   Programa de classe
   {
      static void Main (string [] args)
      {
         #if (PI)
            Console.WriteLine ( "PI está definido");
         #else
            Console.WriteLine ( "PI não está definido");
         #endif
         Console.ReadKey ();
      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

PI é definida

instruções condicionais

Você pode usar a diretiva #if para criar uma instrução condicional. instruções condicionais para testar se o símbolo é verdade. Se for verdade, o compilador irá executar o código entre #if ea próxima instrução.

sintaxe instrução condicional:

#if símbolo [símbolo operator] ...

Em que,o símbolo é o nome simbólico a ser testado. Você também pode usar o verdadeiro eo falso, ou símbolo é colocado na frente do operador de negação.

Operador símbolossão utilizados para avaliar o símbolo do operador. Os operadores podem ser um dos seguintes operadores:

  • == (Igualdade)
  • ! = (Diferença)
  • && (E)
  • || (Ou)

Você também pode usar parênteses para símbolos de grupo e operadores. instrução condicional na versão de depuração ou compilar o código de configuração compilado especificado. Uma instrução condicional começando coma directiva #if,deve ser exibido em uma instrução#endifé encerrado.

O programa seguinte demonstra a utilização de instruções condicionais:

DEBUG #define
#define VC_V10
using System;
TestClass classe pública
{
   public static void Main ()
   {

      #if (DEBUG &&! VC_V10)
         Console.WriteLine ( "DEBUG está definido");
      #elif (! DEBUG && VC_V10)
         Console.WriteLine ( "VC_V10 está definido");
      #elif (DEBUG && VC_V10)
         Console.WriteLine ( "DEBUG e VC_V10 são definidos");
      #else
         Console.WriteLine ( "DEBUG e VC_V10 não estão definidos");
      #endif
      Console.ReadKey ();
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Depurar e VC_V10 são definidos