在C#中定义全局变量
刚学JAVA和C#时,对于用惯了C++中的全局变量的我来说,很是不习惯:所有的东西都在类里面,没有可以现成的存放全局变量的地方。但有位大虾教我说可以通过定义类实现全局变量的功能,我尝试了,记录下我的学习心得。
public class GlobalVariable
{
//******************************************************************
//*Hashtable用于存放全局变量,由key和value成对实现。
//******************************************************************
private static Hashtable table = new Hashtable();
//******************************************************************
//*由于是私有构造函数,不能由new产生实例,所以只有一个实例,
//*保证了该类在程序中是唯一的。
//******************************************************************
private GlobalVariable()
{
}
public static object GetValue(object akey)
{
return table[akey];
}
public static void SetValue(object akey,object avalue)
{
table[akey] = avalue;
}
public static void Remove(object akey)
{
table.Remove(akey);
}
}

在该类中,我们通过SetValue来把需要存放的全局变量通过key来存入Hashtable中。当需要读取全局变量的时候,可以通过GetValue来读出。当然,我们也可以通过Remove来删除一个变量。
需要注意的是,这个类通过GetValue取出的值要做转型的工作。必须要非常小心,否则会出现Exception,所以最好在调用此处的时候,把它放在try块中。


浙公网安备 33010602011771号