根据情况在C#中实现Singleton设计模式的不同方法有哪些

VS1*_*VS1 -2 c# singleton design-patterns language-construct

使用各种语言结构在C#中实现Singleton模式的可能的不同方式有哪些?在哪种情况下使用每种解决方案?每种实施的优缺点是什么?并且,这是考虑性能,锁定和垃圾收集影响的那些实现中最好的一个?

还有哪些其他方法可以实现相同的方法以及如何改进以下代码:

public class Singleton
{
    private static readonly Singleton _instance;
    private Singleon()
    {
    }

    public static Singleton GetInstance()
    {
        if(_instance == null)
            _instance = new Singleton();


        return _instance;
    }

}
Run Code Online (Sandbox Code Playgroud)