C# 单例与延迟加载

//这是一个单例,
//调用:A.Instence().Start()
public sealed class A { private static readonly A instence = null; static A() { instence = new A(); } private A() { //初始化 } public static A Instence() { return instence; } public void Start() { //do something } } //延迟加载
//调用:A.Instance.Start()
//执行到调用代码的时候才会去创建类的实例对象

public sealed class A
{
static readonly Lazy<A> instanceHolder = new Lazy<A>(() => new A());
   A()
  {
    
// 初始化
  }
    public static A Instance => instanceHolder.Value;
    public void Start()
    {
         //do something
    }
}
原文地址:https://www.cnblogs.com/v-dai/p/13366424.html