C# を使用したアプリケーション開発のプロセスでは、パブリック変数の定義と使用がプロジェクトに含まれることが多く、これらの基礎知識を理解し、習得するために開発を進めることは有益です。
プロジェクトでパブリック変数を定義および使用する一般的な方法は何ですか?
1. プログラムで定義して利用する
たとえば、Program クラスで次のように定義します。
public static string Str = "公有变量";
その後、次の方法で他の場所で使用できます (プログラムは静的クラスなのでインスタンス化する必要はありません)。
MessageBox.Show(Program.Str, "");
C# を初めて使用するプログラマーは、このアプローチに慣れています。
2. カプセル化用のパブリック クラスを定義する
たとえば、プロジェクト内にパブリック クラスを定義できます。
class GlobalVar
{
private static string _DBStr="连接属性"; // 私有静态字段
public static string GetDBConn // 公有静态属性
{
get { return _DBStr; }
set { _DBStr = value; }
}
}
他の場所でも直接使用できます。
MessageBox.Show(DBConn.StrConn, "访问公用变量");
このアプローチはプログラム開発においてより一般的です。この方法はより柔軟であり、パブリック オブジェクトを定義して使用するクラスのフィールドとアクセス属性を定義することで、必要に応じてアクセスを制限できます。
3. 保存にはテキスト ファイルを使用する
以前は好んで使っていましたが、今はほとんど使っていません。「C# テキスト設定ファイルの読み込み」を参照してください。
4. 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<Config>(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形式で通信することができます。
5. XML ファイルによる保存
「XMLFile1.xml」という名前の新しい XML ファイルを作成します。
<?xml version="1.0" encoding="utf-8" ?>
<Config>
<DBConn>连接配置</DBConn>
<NetWorkConfig>
<IPAddress>IP地址</IPAddress>
<SubMask>子网掩码</SubMask>
<Gateway>网关地址</Gateway>
</NetWorkConfig>
</Config>
新しいアクセス クラスを作成します。
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;
もちろん、ローカル データベース、一般的な暗号化テキスト、バイナリ ファイルなどを使用するなど、プロジェクトのニーズに応じて選択できる他の方法もあります。