#elif

In this chapter you will learn:

  1. How to use Preprocessing Directives #elif

Preprocessing Directives #elif

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.

The general form for #elif is

#if symbol-expression 
  statement sequence //  java 2s .  co  m
#elif symbol-expression 
  statement sequence 
#elif symbol-expression
  statement sequence 
#elif symbol-expression
  statement sequence 
#elif symbol-expression 
.
.
.
#endif

Example,

#define AAA /*  java2s. co  m*/
#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.

Next chapter...

What you will learn in the next chapter:

  1. How to use Preprocessing Directives #if
  2. Use #if with #else
Home » C# Tutorial » Preprocessor
What is preprocessor
#define
#elif
#if
#undef
#line
#region
#warning preprocessor