//string myString = "String defined in 函数中"; Console.WriteLine("函数中的字符串为:{0}",myString); Console.WriteLine("static 类型的字符串:{0}",Program.myString); static void Main(string[] args) //string myString = "主函数中的字符串"; Program.myString = "函数外的字符串"; Write(); Console.WriteLine("static 类型的字符串:{0}", myString); Console.WriteLine("全局字符串:{0}", Program.myString); Console.ReadKey();

程序如上,在此所有的myString都为同一个值,因为在两个函数中没有在出现过其他的myString

如果把程序中的所有的//去掉就会发现不一样的结果,此时Program.myString为全局变量,myString为局部变量
这是把所有的//去掉得到的结果