单例模式

class SingleCase

{
public static SingleCase instance=null;
public string name ="";
public static SingleCase getInstance(string n)
{
if(instance==null)
{
instance = new SingleCase();
instance.name = n;
}
return instance;
}
}

class Program
{

static void Main(string[] args)
{

SingleCase s1 = SingleCase.getInstance("我是第一次传过来的参数");
SingleCase s2 = SingleCase.getInstance("我是第二次传过来的参数");

Console.WriteLine(s1.name);
Console.WriteLine(s2.name);
Console.ReadKey();
}
}

 

 

 

两次输出的结果是一样的,这是因为当第一次传入参数的时候,instance 为空,执行上面的方法后,name的值就变成了“我是第一次传过来的参数”,

当你第二次再次传入参数时,由于静态变量在内存中只有一个,只占一份儿,所以此时instance 已经不为空了,还会直接输出第一个参数是的instance 值,

所以,不管你输入几次参数,

posted @ 2023-05-08 08:44  .net&new  阅读(15)  评论(0)    收藏  举报