[C#] 環境設定ファイルを扱う方法(System.Configuration)


Devlopment note / C#    作成日付 : 2020/04/20 19:37:57   修正日付 : 2020/04/20 19:37:57

こんにちは。明月です。


この投稿はC#で環境設定ファイルを扱う方法(System.Configuration)に関する説明です。


プログラムを作成する時にプログラムによって環境ファイルを設定する場合があります。例えば、ログファイルの格納パスやサーバによって設定するデータなどです。

以前、C++ファイルの場合はiniファイルを設定ファイルによく使いました。もちろん、C#でiniファイルを使えないことではないですが、基本XMLファイルで環境設定を行います。

Javaの場合「.property」ファイルが環境ファイルでよく使います。(XML形式も多いです。)

C#ではXMLになっているapp.configファイルを環境ファイルでよく使います。


プロジェクトを生成すればC#は基本的にApp.configファイルが生成されます。


その後、app.configファイルにデータを設定してプログラム上で読み込みます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <appSettings>
    <add key="TestData" value="Hello world"/>
  </appSettings>
</configuration>

appSettingsのタグの中でaddタグを追加します。ここでkeyというアトリビュートはプログラムで読み込むキーでvalueは値です。


configファイルを読み込むためにライブラリを追加しなければならないです。

(App.configは基本的に生成されるのにライブラリは追加することで。。)



using System;
using System.Configuration;
namespace Example
{
  class Program
  {
    // 実行関数
    static void Main(string[] args)
    {
      //App.configファイルに作成したキー名をここで入力する。
      String data = ConfigurationManager.AppSettings["TestData"];
      // 結果はHello worldが表示するはず。
      Console.WriteLine(data);
      // コンソール出力
      Console.WriteLine("Press any key...");
      Console.ReadKey();
    }
  }
}

ConfigurationManager.AppSettingsクラスにindexer形式でキーの値を入れればApp.configに設定した値を取得できます。


プログラムをリリースしたらApp.configファイル名は「プロジェクト名.exe.config」で変更されます。




ここまでC#で環境設定ファイルを扱う方法(System.Configuration)に関する説明でした。


ご不明なところや間違いところがあればコメントしてください。

最新投稿