static在英语中是静态的意思,在c#中的意思是静态全局变量。
下面通过例子说明此关键字
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static string myString; static void Write() { //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为局部变量
这是把所有的//去掉得到的结果