最稳妥推荐的是Lazy方式,延迟初始化且线程安全;次选静态构造函数+静态字段,兼容所有.NET版本、类型初始化天然线程安全;双重检查锁不推荐,易出错且已被替代。

单例模式在C#中最稳妥、推荐的方式是使用静态只读字段 + 静态构造函数,或更现代的懒加载(Lazy
✅ 推荐写法:Lazy 实现(.NET 4.0+)
这是目前最推荐的方式,延迟初始化、线程安全、代码干净:
public sealed class Singleton
{
private static readonly Lazy<Singleton> _instance = new Lazy<Singleton>(() => new Singleton());
<pre class="brush:php;toolbar:false;">public static Singleton Instance => _instance.Value;
private Singleton() { } // 私有构造,防止外部实例化登录后复制
}
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~