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为局部变量这是把所有的//去掉得到的结果