知れば知る程至れりつくせりな.Netフレームワーク。
RubyでWebサービスなんか作ってると、いくつもGemを入れないと話にならないけれど、C#の場合は.Net一本でけっこうカバーできる。
これまでにも色々.Netをべた褒めしてきたけれど、今回はEnvironmentという静的クラスを紹介しようと思う。
C#(.Net)の文字列比較が日本語に対応しすぎていて笑えたので、他の比較方法と併せて紹介する。
便利プロパティ
使い方は簡単で、System名前空間をusingし、Environmentのプロパティを呼び出すだけ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// 現在のディレクトリ Environment.CurrentDirectory; // コンピューター名 Environment.MachineName; // OSのバージョン Environment.OSVersion; // CPUのプロセッサー数 Environment.ProcessorCount; // 現在のスタックトレース Environment.StackTrace; // 改行文字(OSの違いを吸収してくれる) Environment.NewLine; // コンピューターが起動してからの時間 Environment.TickCount; |
改行文字(Enviroment.NewLine)やOSのバージョンなど、ところ(パソコン)変われば全く異なるものもEnviromentがラップして提供してくれるから便利だ。
この中で特によく使われるのはEnvironment.NewLineとEnvironment.CurrentDirectoryだろう。
便利メソッド
Environmentの静的メソッドにも便利なものが揃っている。.Net界の便利屋と呼ぶことにしよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// 正常終了の場合はExit()に対して0を渡す。他のエラーコードはレファレンスへ。 const int ERROR_SUCCESS = 0x0; Environment.Exit(ERROR_SUCCESS); // アプリケーションを強制終了させる。 Environment.FailFast("Error Message"); // 論理ドライブ名の取得 Environment.GetLogicalDrives(); // 環境変数の設定 const string EnvironmentVariableName = "test env. name"; const string EnvironmentVariableValue = "test env. value"; Environment.SetEnvironmentVariable( EnvironmentVariableName, EnvironmentVariableValue); // 環境変数の取得 Environment.GetEnvironmentVariable(EnvironmentVariableName); |
ちなみにFailFast()には、場合に応じて整数を渡してあげる。その一覧はこちら。
※あくまでWindowsのエラーコードなので注意
便利メソッドと銘打っておきながら、実際使う機会があるかというと、う〜〜〜んと頭を抱えてしまう。
いつかどこかで再会することを祈りつつ、こんなのもあるんだと眺めてもらえれば幸いかと。
仕事でC#を導入するその前に。