This documentation is archived and is not being maintained.

#undef (C# Reference)

#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.

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;
class MyClass 
    static void Main() 
        Console.WriteLine("DEBUG is defined");
        Console.WriteLine("DEBUG is not defined");
DEBUG is not defined