中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C#類的單例模式實現

c#
小樊
88
2024-08-11 23:51:41
欄目: 編程語言

在C#中,可以使用靜態變量和私有構造函數來實現單例模式。以下是一個簡單的示例:

public class Singleton
{
    private static Singleton instance;

    // 私有構造函數,防止外部實例化
    private Singleton()
    {
    }

    // 獲取單例實例
    public static Singleton GetInstance()
    {
        if (instance == null)
        {
            instance = new Singleton();
        }
        return instance;
    }
}

在上面的示例中,通過私有構造函數防止外部實例化,通過靜態變量和GetInstance方法來獲取單例實例。在調用GetInstance方法時,如果實例為空,則創建一個新的實例并返回;否則直接返回已存在的實例。這樣就保證了整個應用程序中只有一個實例存在。

另外,也可以使用Lazy類來實現延遲加載的單例模式:

public class Singleton
{
    private static readonly Lazy<Singleton> instance = new Lazy<Singleton>(() => new Singleton());

    private Singleton()
    {
    }

    public static Singleton GetInstance()
    {
        return instance.Value;
    }
}

使用Lazy類可以更方便地實現延遲加載,只有在第一次調用GetInstance方法時才會創建實例。

0
苍溪县| 凉山| 英吉沙县| 烟台市| 葫芦岛市| 紫云| 萨迦县| 襄樊市| 肥东县| 峨山| 丹巴县| 鄂托克前旗| 桂林市| 灵丘县| 吴川市| 申扎县| 平顺县| 德化县| 衡东县| 稻城县| 松桃| 河曲县| 莲花县| 屯昌县| 辉南县| 建湖县| 宿迁市| 宁化县| 宝清县| 万全县| 丹巴县| 瓮安县| 临颍县| 繁昌县| 泰兴市| 吉木萨尔县| 迁西县| 清涧县| 敖汉旗| 正安县| 栾城县|