阅读量:0
在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来获取单例实例,并进行操作。