Statically Initialized Singleton C# with Example
public class Singleton { private readonly static Singleton instance = new Singleton(); private Singleton() { } public static Singleton Instance => instance; } This implementation is thread-safe because in this case instance object is initialized in the static constructor. The CLR already ensures that all static constructors are executed thread-safe. Mutating instance is not a thread-safe operation, therefore the readonly attribute guarantees immutability after initialization.