title: What does hash sign # do in the C# especially in if-else Statements?
body: <p>I came across the following code as shown below. But I couldn't understand how # can be worked in c#? </p>
  
  <pre><code> using System;
   public class Program
      {
          public static void Main(string[] args)
          {
          #if (!pi)
                      Console.WriteLine("i");
          #else 
                      Console.WriteLine("PI undefined");
          #endif
              Console.WriteLine("ok");
              Console.ReadLine();
          }
      }
  </code></pre>
  
  <p>Output: </p>
  
  <pre><code>i
  ok
  </code></pre>