c#的全局变量解决方法
在c/c++中全局变量是一种可以在程序任何位置上都可以使用的变量,那么c#中有没有类似的全局变量呢?答案上否定的,在c#中不存在全局变量的概念。
但是可以借签c#中的另外一种技术实现类似于全局变量的概念,既静态类和静态方法。定义静态类和静态变量的关键字是static,该关键字的使用属于c#语言面向对象编程中的高级内容,此处不做详细的介绍,只是提供一个实现全局变量的方法。 如果要在程序中使用一个全局变量name,此变量存储着字符串’yang’,需要在程序中的任何位置都可以访问这个name值,而且name值不会发生改变,则这个name就属于全局变量的特点,在c#中可以如下实现: Public static class MyMame { Private static string name=”yzh”; Public static string Name { Get{Return name;} } } 当要使用这个变量的时候,可以使用MyMame.Name直接获得值”yzh”; String authorname= MyMame.Name; 在项目开发中,可以专门建立一个Common类,用于放置具有全局变量特性的数据。 我就是用一个内在的类来管理全局变量,不过我是把做成属性来保存数据的,有些数据需要保存供所有子窗口利用,比如主窗口frmMain,还有就是数据库连接字符串也是全局的, internal class Globals { private static frmMain _frmMain = null; private static string m_ConnectionString = "Data Source=ulc-sales-02;Initial Catalog=erp_data;User ID=sa;pwd=123456;Integrated Security=True";//全局变量 #region 全局属性 public static frmMain FormMain { get { return _frmMain; } set { _frmMain = value; } } public static string ConnectionString { get { return m_ConnectionString; } set { m_ConnectionString = value; } }
#endregion } c#中有没有全局变量啊?如果有怎么申明?如果没有,我要是把一个变量存到缓存中,在WINDOWS编程中如何实现?我知道在web中可以用SESSION的方法。 --------------------------------------------------------------- 用静态成员来作全程变量 --------------------------------------------------------------- 你可以用一个相关存放该变量的类,然后在该类中添加一个静态的成员变量,或者加一个常量也可以,然后用的时候直接对该类进行访问即可。 --------------------------------------------------------------- C#中没有全局变量,但可以使用命名空间和静态变实现类似功能 下面的例子定义了一个用户类,初始化用户名后,在filetobase命名空间的其它类都可以获得用户名 namespace FileToBase{ public class user { private static string userName; public user(string name) { userName=name; } public static string UserName { get { return userName; } } } }