10 C# Hacks You Need to Know Today

Alex Maher
10 min readJun 8

There are countless hidden and lesser-known functionalities that can significantly elevate your code efficiency and quality. Let’s explore 10 C# hacks that you might not have thought of using but could make your coding journey much more exciting.

Before we continue, I’ve an interesting fact to share:

Did you know that C# was developed within just 13 months? C#, one of the most popular programming languages today, was developed within a surprisingly short period of time. Microsoft started the development of C# language, also known as Project Cool, in the late 1999 and by the middle of the year 2000, they were almost done. The first version of C#, C# 1.0, was released in the year 2002 with .NET Framework 1.0.

Crazy right? Ok let’s dive in!

1. Delegates and Events

Delegates and events are powerful features in C# that support dynamic and flexible programming.

What does it do?

A delegate in C# is a type that holds a reference to a method. This means that a delegate can invoke a method when it has a reference to it. Events, on the other hand, are a way that a class can notify other classes when something has happened.

Use Cases

  1. Delegates: They can be used to create flexible and extendable architectures as they allow methods to be passed as parameters.
  2. Events: They’re useful for alerting other parts of your application when a specified action has taken place, like button clicks in a GUI.

Code Examples

Here’s an example of using delegates and events in C#:

public delegate void MyDelegate(string message);

public class MyClass
// An event using the MyDelegate delegate type
public event MyDelegate MyEvent;
public void TriggerEvent()
MyEvent?.Invoke("Hello, World!");
public class Program
public static void Main(string[] args)
MyClass myClass = new MyClass();
// Subscribe to the event
myClass.MyEvent += HandleEvent;
// Trigger the event
private static void HandleEvent(string message)
Alex Maher

.NET C# dev with 10+ yrs exp, self-taught & passionate web developer. Sharing tips & experiences in C# and web dev.