C#中对公有变量的定义与使用

  在使用C#做应用程序开发过程中,一个项目往往涉及公有变量的定义和使用,多了解和掌握这些基础知识对开发是有益处的。
  对于项目中的公有变量,通常情况下有哪几种定义和使用方式?

  一、在程序中定义和使用

  比如,我们在Program类中定义:

public static string Str = "公有变量";

  那么在其他地方可以通过下面方式使用(Program是静态类,不需要实例化):

MessageBox.Show(Program.Str, "");

  刚开始接触C#的程序员比较习惯这样的方式。

  二、定义公有类进行封装

  比如,我们可以在项目中定义一个公有类:

    class GlobalVar
    {
        private static string _DBStr="连接属性"; // 私有静态字段

        public static string GetDBConn // 公有静态属性
        {
            get { return _DBStr; }
            set { _DBStr = value; }
        }
    }

  在其他地方可以直接使用:

MessageBox.Show(DBConn.StrConn, "访问公用变量");

  这样的方式在程序开发中更为常见。这种方式比较灵活,通过定义类的字段和访问属性对公有对象进行定义和使用,可以对访问根据需要加以限制。

  三、使用文本文件进行存储

  以前喜欢使用,现在很少使用了,见《C#读取文本配置文件》。

  四、通过JSON文件进行存储

  通过NuGet包管理器安装Newtonsoft.Json。
  新建一个名为"jsconfig1.json"的JSON文件,内容如下:

{
  "DBConn": "连接属性",
  "NetWorkConfig": {
    "IPAddress": "IP地址",
    "SubMask": "子网掩码",
    "Gateway": "网关地址"
  }
}

  定义访问类:

       public class Config
        {
            public string DBConn { get; set; }
            public JObject NetWorkConfig { get; set; }
        }

  添加引用:

using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

  通过程序来访问:

            //读取JSON文件
            string json = System.IO.File.ReadAllText("D:/CSharp/jsconfig1.json");

            //反序列化JSON到Config对象
            Config config = JsonConvert.DeserializeObject(json);

            //读取变量
            string StrDBConn = config.DBConn;
            string StrIPAddress = config.NetWorkConfig["IPAddress"].ToString();
            string StrSubMask = config.NetWorkConfig["SubMask"].ToString();
            string StrGateway = config.NetWorkConfig["Gateway"].ToString();

            //输出公有变量的值
            textBox1.Text += StrDBConn + Environment.NewLine;
            textBox1.Text += StrIPAddress + Environment.NewLine;
            textBox1.Text += StrSubMask + Environment.NewLine;
            textBox1.Text += StrGateway + Environment.NewLine;

  现在这样的方式比较流行了。在使用C#进行应用程序的开发中,Web前端使用JSON文件格式比较多,在窗体中调用后端的服务就可以使用JSON格式来通讯。

  五、通过XML文件进行存储

  新建一个名为"XMLFile1.xml"的XML文件:



	连接配置
	
		IP地址
		子网掩码
		网关地址
	

  新建访问类:

        public class XmlConfig
        {
            public string DBConn { get; set; }
            public XmlNode NetWorkConfig { get; set; }
        }

  引用:

using System.Xml;

  通过代码进行访问:

            //创建XmlDocument对象
            XmlDocument xmlDoc = new XmlDocument();

            //加载XML文件
            xmlDoc.Load("D:/XMLFile1.xml");

            //创建 Config 对象
            XmlConfig config = new XmlConfig();

            //获取DBConn节点的值
            config.DBConn = xmlDoc.SelectSingleNode("/Config/DBConn").InnerText;

            //获取NetWorkConfig节点
            config.NetWorkConfig = xmlDoc.SelectSingleNode("/Config/NetWorkConfig");

            //访问和使用公有变量
            string StrDBConn = config.DBConn;
            string StrIPAddress = config.NetWorkConfig.SelectSingleNode("IPAddress").InnerText;
            string StrSubMask = config.NetWorkConfig.SelectSingleNode("SubMask").InnerText;
            string StrGateway = config.NetWorkConfig.SelectSingleNode("Gateway").InnerText;

            // 输出公有变量的值
            textBox1.Text += StrDBConn + Environment.NewLine;
            textBox1.Text += StrIPAddress + Environment.NewLine;
            textBox1.Text += StrSubMask + Environment.NewLine;
            textBox1.Text += StrGateway + Environment.NewLine;

  当然还有其他的方式,比如通过本地数据库、一般性的加密文本、二进制的文件等等,可以根据项目的需要进行选择。

你可能感兴趣的:(C#,c#,XML,JSON)