Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Collapse the table of content
Expand the table of content


#undef lets you undefine a symbol, such that, by using the symbol as the expression in a #if directive, the expression will evaluate to false.

#undef symbol


The name of the symbol you want to undefine.


A symbol can be defined either with the #define directive or the /define compiler option. The #undef directive must appear in the file before you use any statements that are not also directives.


// preprocessor_undef.cs
// compile with: /d:DEBUG
#undef DEBUG
using System;
public class MyClass 
   public static void Main() 
      #if DEBUG
         Console.WriteLine("DEBUG is defined");
         Console.WriteLine("DEBUG is not defined");


DEBUG is not defined

See Also

C# Preprocessor Directives

© 2015 Microsoft