/// <summary>
        /// キーと値のペア配列を取得する
        ///・JSON では辞書もキー配列と値配列として保存されるため、SetDictionary() で保存した辞書も取得できる。
        /// </summary>
        /// <typeparam name="K">キーの型</typeparam>
        /// <typeparam name="V">値の型</typeparam>
        /// <param name="key"></param>
        /// <param name="keys">戻り値となるキー配列</param>
        /// <param name="values">戻り値となる値配列</param>
        /// <returns>取得できたとき=true</returns>
        public static bool TryGetArrayPair <K, V>(string key, out K[] keys, out V[] values)
        {
            DictionaryWrap <K, V> obj = GetObject <DictionaryWrap <K, V> >(key);

            if (obj == null)
            {
                keys   = null;
                values = null;
                return(false);
            }
            else
            {
                keys   = obj.Keys;
                values = obj.Values;
                return(true);
            }
        }
        /// <summary>
        /// JSON 形式(文字列型)で保存された要素を辞書として生成して返す
        ///・JSON では辞書もキー配列と値配列として保存されるため、SetArrayPair() 保存したペア配列も辞書として取得できる。
        /// </summary>
        /// <typeparam name="K">辞書のキーの型</typeparam>
        /// <typeparam name="V">辞書の値の型</typeparam>
        /// <param name="key">保存キー</param>
        /// <param name="def">デフォルト値</param>
        /// <returns>保存されていた辞書(新規に生成)</returns>
        public static Dictionary <K, V> GetDictionary <K, V>(string key, Dictionary <K, V> def = null)
        {
            DictionaryWrap <K, V> obj = GetObject <DictionaryWrap <K, V> >(key);

            return(obj != null?obj.ToDictionary() : def);
        }