How to use Preprocessing Directive #elif in C#

Description

The #else directive establishes an alternative if #if fails. #else marks both the end of the #if block and the beginning of the #else block. The #elif directive means "else if". The #elif directive establishes an if-else-if chain for multiple compilation options.

#elif is followed by a symbol expression. There can be only one #endif associated with any #if. If the expression is true, that block of code is compiled, and no other #elif expressions are tested.

Syntax

The general form for #elif is


#if symbol-expression 
  statement sequence //from  w w w  . ja  v  a  2  s.  co  m
#elif symbol-expression 
  statement sequence 
#elif symbol-expression
  statement sequence 
#elif symbol-expression
  statement sequence 
#elif symbol-expression 
.
.
.
#endif

Example

Example,


#define AAA //  ww  w  .  j a va  2 s .  com
#define RELEASE 
 
using System; 
 
class MainClass { 
  public static void Main() { 
     
    #if AAA 
      Console.WriteLine("Compiled for AAA version."); 
    #elif RELEASE 
      Console.WriteLine("Compiled for release."); 
    #else 
      Console.WriteLine("Compiled for internal testing."); 
    #endif 
 
    #if BBB && !RELEASE 
       Console.WriteLine("BBB version."); 
    #endif 
   
    Console.WriteLine("This is in all versions."); 
  } 
}

The code above generates the following result.





















Home »
  C# Tutorial »
    Custom Types »




C# Class
C# Struct
C# Interface
C# Inheritance
C# Namespace
C# Object
C# Delegate
C# Lambda
C# Event
C# Enum
C# Attribute
C# Generics
C# Preprocessor