万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    気がつかないDictionaryのエラー C# Unity

    例えばこのように定義しているクラスがあるとする。
    ※キーが重複している

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    
    public class HogeConstants
    {
        public const string HOGE1 = "aiueo";
        public const string HOGE2 = "aiueo";
    
        public static readonly Dictionary<string, string> HOGE_DIC = new Dictionary<string, string> ()
        {
            { HOGE1, "BAAA" },
            { HOGE2, "BOO" },
        };
    }
    
    Resources.Load (HogeConstants.HOGE_DIC [buildingId]);
    

    を呼ぶ瞬間に

    key is already in the dictionary

    というエラーが出た。
    コンパイル開始時ではなく、実行時にメソッドからDictioanaryを呼ばれる時にエラーとなることもあるパターンだった。