I was wondering what the exact use of events is in c#. I am still in the process of learning c# so I maybe missing something but is it possible to just use delegates.
In this example I wrote a class with a method that counts from 0 to 2^64 and every time it reaches a multiple of a thousand raises an event. Here is the code:   
namespace EventDelegate
{
class Program
{
    static void Main(string[] args)
    {
        EventRaiserClass _eventraiser = new EventRaiserClass();
        _eventraiser.handler = SomeEventHandler;
        _eventraiser.handler += AnotherEventHandler;
        _eventraiser.Loop();
        Console.Read();
    }
    static void SomeEventHandler(object sender, EventArgs args)
    {
        Console.WriteLine("Event raised");
    }
    static void AnotherEventHandler(object sendr, EventArgs args)
    {
        Console.WriteLine("Event raised (Another handler)");
    }
}
public delegate void Handler(object sender, EventArgs args);
class EventRaiserClass
{
    public Handler handler;
    public void Loop()
    {
        for (long i = 0; i < Int64.MaxValue; i++)
        {
            if ((i % 1000) == 0)
            {
                EventArgs args = new EventArgs();
                RaiseEvent(args);
                System.Threading.Thread.Sleep(1000);
            }
        }
    }
    private void RaiseEvent(EventArgs args)
    {
        if (handler != null)
            handler(this, args);
    }
}
}
What would the difference have been if I had declared the handler delegate variable to be an event like this public event Handler handler.
Sorry if I am been a bit vague or missing something obvious, but I am just wondering if something else happens behind the scenes when using event rather just using delegates or if it's just for readability purposes.
 
    