investor’s blog

兼業投資家の記録。長期ファンダメンタル。インデックス投資。システムトレード。プログラミング。全てをシンプルに。

マッピングファイルを使ってコード変換(等)を行う(C#)

外部ファイルなどにマッピング情報が用意されていて、それを元に変換を行いたい。ってことはよくあると思いますが、いまいち正解がわからない。

今作っている簡単なツールでは、下記コードのようにしている。CSVファイルを読み込んで、それをDictionaryに格納しておく。変換したい側は、変換元をkeyを渡せば変換先をvalueとして返してくる。

逆変換も必要であれば、keyとvalueが逆のDictionaryを用意すればいいかと。

    public static class CodeConversion
    {
        Dictionary mappingDictionary;

        CodeConversion()
        {
            var file = new StreamReader(@".\mapping.csv");

            string line;

            while ((line = file.ReadLine()) != null)
            {
                var keyValue = line.Split(',');
                mappingDictionary.Add(keyValue[0], keyValue[1]);
            }

            file.Close();
        }
    }