用static定义静态全局变量


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

posted @ 2011-08-30 17:22  haiziguo  阅读(1242)  评论(0编辑  收藏  举报