您好,登錄后才能下訂單哦!
在C#中,可以使用惰性初始化(Lazy Initialization)模式來實現方法的延遲初始化。惰性初始化是指在第一次訪問某個對象時,才對其進行實例化。這可以避免在程序啟動時就占用大量資源。在C#中,可以使用Lazy<T>
類來實現惰性初始化。
下面是一個使用Lazy<T>
實現方法延遲初始化的示例:
using System;
using System.Threading;
class Program
{
// 使用Lazy<T>實現惰性初始化
private static readonly Lazy<MyClass> _lazyInstance = new Lazy<MyClass>(() => new MyClass());
static void Main(string[] args)
{
// 第一次訪問_lazyInstance.Value,將實例化MyClass
MyClass instance = _lazyInstance.Value;
instance.DoSomething();
// 第二次訪問_lazyInstance.Value,將直接返回已實例化的MyClass,不會再次實例化
instance.DoSomethingElse();
}
}
class MyClass
{
public void DoSomething()
{
Console.WriteLine("DoSomething called.");
}
public void DoSomethingElse()
{
Console.WriteLine("DoSomethingElse called.");
}
}
在這個示例中,我們使用Lazy<MyClass>
來實現MyClass
的惰性初始化。當第一次訪問_lazyInstance.Value
時,將實例化一個新的MyClass
對象。在后續的訪問中,將直接返回已實例化的MyClass
對象,而不會再次實例化。這樣可以避免在程序啟動時就占用大量資源。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。