Preprocessing Directives C# Tutorial

The #undef directive removes a previously defined definition.
The #undef directive "undefines" a symbol.
The general form for #undef is

#undef symbol

#define win2000
#define release
#undef  win98
using System;
using System.Diagnostics;
class MainClass
{
    public static void Main()
    {
        string platformName;
        #if winXP       // Compiling for Windows XP
            platformName = "Microsoft Windows XP";
        #elif win2000   // Compiling for Windows 2000
            platformName = "Microsoft Windows 2000";
        #elif winNT     // Compiling for Windows NT
            platformName = "Microsoft Windows NT";
        #elif win98     // Compiling for Windows 98
            platformName = "Microsoft Windows 98";
        #else           // Unknown platform specified
            platformName = "Unknown";
        #endif
        Console.WriteLine(platformName);
    }
}
Microsoft Windows 2000