title: Is keyword 'event' optional in C#?
body: <p>What is the difference between eventOne (with keyword 'event') and eventTwo (w/o keyword)?</p>
  
  <pre><code>class Program
  {
      public event EventHandler eventOne;
      public EventHandler eventTwo;
  
      public void RaiseOne()
      {
          if (eventOne != null)
              eventOne(this, EventArgs.Empty);
      }
  
      public void RaiseTwo()
      {
          if (eventTwo != null)
              eventTwo(this, EventArgs.Empty);
      }
  
      static void Main(string[] args)
      {
          var p = new Program();
          p.eventOne += (s, e) =&gt; Console.WriteLine("One");
          p.eventTwo += (s, e) =&gt; Console.WriteLine("Two");
          p.RaiseOne();
          p.RaiseTwo();
      }
  }
  </code></pre>