Solved

preprocessir directives

Posted on 2006-11-09
2
212 Views
Last Modified: 2008-02-07
Does C# have anything like in C -

#ifndef BLAH

#define BLAH
.......
.......
#endif

in C# I've tried #if (!BLAH)  #if (BLAH == false), both of which do not compile.

Naturally I can just say  #if BLAH  #else ..........  #endif, but I was wondering if C# supported the other.  Thanks
0
Comment
Question by:ARACK04
  • 2
2 Comments
 
LVL 15

Accepted Solution

by:
ozymandias earned 500 total points
ID: 17906935
#if symbol [operator symbol]...
where:

symbol
The name of the symbol you want to test. You can also use true and false. symbol can be prefaced with the negation operator. For example, !true will evaluate to false.
operator (optional)
You can use the following operators to evaluate multiple symbols:
== (equality)

!= (inequality)

&& (and)

|| (or)

You can group symbols and operators with parentheses.

// preprocessor_if.cs
#define DEBUG
#define VC_V7
using System;
public class MyClass
{
   public static void Main()
   {

      #if (DEBUG && !VC_V7)
         Console.WriteLine("DEBUG is defined");
      #elif (!DEBUG && VC_V7)
         Console.WriteLine("VC_V7 is defined");
      #elif (DEBUG && VC_V7)
         Console.WriteLine("DEBUG and VC_V7 are defined");
      #else
         Console.WriteLine("DEBUG and VC_V7 are not defined");
      #endif
   }
}
0
 
LVL 15

Expert Comment

by:ozymandias
ID: 17906947
The above from MSDN C# Programmers Reference...
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question