网眼技术@cnblogs

-“十万个为什么”电脑学习网(http://www.why100000.com)

  博客园 :: :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

        很遗憾的是 C# 语言中没有全局变量!不知道设计的时候是怎么考虑的?滥用全局变量可能会引起程序的混乱,但是合理使用,也会带来很大的方便。

    幸运的是,我们可以使用类里面的 static 字段曲折地达到使用“全局变量”的目的。

    例如以下代码:

    //文件 global.cs
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace MyGlobalNameSpace
    {
        public class myGlobal
        {
            private static string var1 = "";

            public static string sVar1
            {
                get
                {
                    return var1;
                }
                set
                {
                    var1 = value;
                }
            }
        }
    }

    在类 myGlobal 里声明一个静态的 string 类型的属性 sVar1,就可以在本应用的别的类里赋值,而在另外的类里就可以使用该值。

    例如以下代码给变量 sVar1 赋值:

    //文件 cls1.cs:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using MyGlobalNameSpace;

    namespace GlobalVar
    {
        class cls1
        {
            public void method1()
            {
                //例如在这里给变量 sVar1 赋值
                myGlobal.sVar1 = "my global var";
            }
        }
    }

    在主程序里显示变量 sVar1 的值:

    //文件 Program.cs:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using MyGlobalNameSpace;

    namespace GlobalVar
    {

        class Program
        {
            static void Main(string[] args)
            {
                cls1 t = new cls1();
                t.method1();

                Console.WriteLine(myGlobal.sVar1);

                Console.ReadLine();
            }
        }
    }

posted on 2007-05-24 11:58  张庆  阅读(2826)  评论(0)    收藏  举报