c#静的変数と静的属性の違い
5461 ワード
プログラミングの初期セグメントは通常、フレームワークを細かく構築する必要がないため、静的変数と静的方法を使用するのが好きです.しかし、パッケージ性の破壊が大きく、internal staticやpublic staticが宣言したものはほとんどプログラムの中でどこでも使えますが、問題になりやすいと思います.先日、プログラムが起動したときに構成ディレクトリを確認し、このディレクトリが存在しない場合は作成する問題がありました.
手順は次のとおりです.
次のプログラムが実行されると、ディレクトリが作成され、初期化フェーズでディレクトリを変更する機会がありません.デフォルトのIpとPortの値を取得します.
次こそ正しい方法で、时には本当に手間を省くだけで、コードを何行も書くことができません.しかし、静的変数には何のメリットもないと思います.
手順は次のとおりです.
public class ClassDebug
{
public static string
{
get
{
string tempPath =
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), " ");
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
return tempPath;
}
}
}
public class HostInfo
{
private string _ip = "127.0.0.1";
private string _port = "80";
public string Ip
{
get { return _ip; }
set { _ip = value; }
}
public string Port
{
get { return _port; }
set { _port = value; }
}
}
次のプログラムが実行されると、ディレクトリが作成され、初期化フェーズでディレクトリを変更する機会がありません.デフォルトのIpとPortの値を取得します.
public static string MyPath= Path.Combine(ClassDebug.ClassDebug. , host.Ip + "_" + host.Port);
public static void Main(string[] args)
{
//
Console.ReadLine();
}
次こそ正しい方法で、时には本当に手間を省くだけで、コードを何行も書くことができません.しかし、静的変数には何のメリットもないと思います.
public static string MyPath
{
get
{
//
HostInfo host = new HostInfo();
host.Ip = LoginWindow.Ip;
host.Ip = LoginWindow.Port;
return Path.Combine(ClassDebug.ClassDebug. , host.Ip + "_" + host.Port);
}
}
public static void Main(string[] args)
{
//
Console.ReadLine();
}