// See https://aka.ms/new-console-template for more information
//Console.WriteLine("Hello, World!");
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 值,
所以,不管你输入几次参数,
标签:Console,name,C#,模式,instance,参数,单例,static,SingleCase From: https://www.cnblogs.com/wugh8726254/p/17380629.html