何时应该使用 Lazy?
何时应该使用 Lazy?
我发现了一篇有关Lazy
的文章:C# 4.0中的惰性——Lazy
使用Lazy对象获得最佳性能的最佳实践是什么?
有人能指点我在实际应用中的实际用途吗?换句话说,我什么时候应该使用它?
admin 更改状态以发布 2023年5月21日
你应该尽可能避免使用单例模式,但如果你确实需要使用它, Lazy
可以轻松实现延迟加载、线程安全的单例模式:
public sealed class Singleton { // Because Singleton's constructor is private, we must explicitly // give the Lazya delegate for creating the Singleton. static readonly Lazy instanceHolder = new Lazy (() => new Singleton()); Singleton() { // Explicit private constructor to prevent default public constructor. ... } public static Singleton Instance => instanceHolder.Value; }