单线程中使用:

class Singleton{

private static Singleton singleton=null;

private static Singleton(){}//防止系统自动添加构造函数

public static Singleton GetSingleton(){

if(singleton!=null){

singleton=new Singleton();

}

return singleton;

}

}

//测试

class Test{

public static void Main(){

Singleton s=Singleton.GetSingleton();//调用方法

}

}

 

多线程中使用

class Singleton{

public static readonly Singleton singleton=new Singleton();

static Singleton(){//声明静态构造器

singleton=new Singleton();//实例化

}

private Singleton(){}

}

//测试

class Test{

public static void Main(){

Singleton s=Singleton.singleton;

}

}