c# winform 关于给静态全局变量赋值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:53:53
public static string bm = "";//声明 。tgerad 方法和GlobalParams类在同一.cs文件中

public void Thread()

{
GlobalParams.bm = reader["username"].ToString();//问:将数据库中的某个值给bm。这样写对否?如果不对应该怎么写?

}

public static class GlobalParams
{
public static string bm;
}

public string bm// 生成运行时报错: 已经包含bm的定义。如果不写get和set又不能对它进行二次读写。如何办呀?
{
get
{
return bm;
}
set
{
bm = value;
}

}

C#中是没有所谓的全局变量的.要构造出类的属性作为全局变量
可以在GlobalParams 写:
public static string user = ""; //定义变量
public GlobalParams ()
{
user ="abcd";//赋值构造
}
public string User
{
get
{
return user ;
}
set
{
user =value;
}

这样就可以其他窗体访问此User
MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"abcd"

GlobalParams frm=new GlobalParams ();
frm.User="efg"; //修改该静态变量的值

MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"efg"

有个疑问:C#中是没有所谓的全局变量的
是这样吗 java里面好像不是啊
难道C#不同
static变量不是全局的吗