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

溫馨提示×

使用靜態變量實現C#中的單例模式

c#
小樊
93
2024-04-26 20:57:46
欄目: 編程語言

在C#中使用靜態變量實現單例模式可以確保只有一個實例存在,并且在整個應用程序中可以被訪問。以下是一個示例代碼:

public class Singleton
{
    private static Singleton instance;
    private static readonly object lockObj = new object();

    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (instance == null)
            {
                lock (lockObj)
                {
                    if (instance == null)
                    {
                        instance = new Singleton();
                    }
                }
            }
            return instance;
        }
    }

    public void DoSomething()
    {
        Console.WriteLine("Do something...");
    }
}

public class Program
{
    static void Main()
    {
        Singleton singleton1 = Singleton.Instance;
        Singleton singleton2 = Singleton.Instance;

        Console.WriteLine(ReferenceEquals(singleton1, singleton2)); // true

        singleton1.DoSomething();
    }
}

在上面的示例中,Singleton類包含一個私有的靜態變量instance和一個私有的構造函數,以確保外部無法直接實例化Singleton類。通過公共的靜態屬性Instance來返回Singleton的實例,使用雙重檢查加鎖來確保線程安全。在Program類中,可以使用Singleton.Instance來獲取單例實例,并進行操作。

0
南岸区| 林州市| 辉南县| 布尔津县| 婺源县| 西华县| 江津市| 五指山市| 界首市| 东兰县| 竹北市| 桐梓县| 罗田县| 同江市| 兰西县| 大厂| 亚东县| 金华市| 岳池县| 阿克陶县| 万全县| 台安县| 凤阳县| 镶黄旗| 玉环县| 宣武区| 隆化县| 德惠市| 陈巴尔虎旗| 北辰区| 澄城县| 嘉禾县| 台州市| 台中市| 大方县| 郑州市| 顺义区| 长垣县| 台北县| 湘乡市| 武功县|