C#怎么把Dictionary转换为字符串string?

我想把Dictionary字典集合转换为字符串保存在一个数据库字段里,谁能给份代码..

  • csharper - 1年前

    给你看下我写的dicitionary转换为字符串的代码:

     public static Dictionary<string, string> ToDictionary(this string s)
            {
                Dictionary<string, string> temp = new Dictionary<string, string>();
    
                string[] token = s.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
    
                if (token.Length > 0)
                    foreach (string kv in token)
                    {
                        string[] t = kv.Split(new Char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
    
                        if (t.Length > 1)
                        {
                            if (t.Length == 2)
                                temp.Add(t[0], t[1]);
                            else if (t.Length > 2)
                            {
                                StringBuilder sb = new StringBuilder();
                                for (int i = 1; i < t.Length; i++)
                                    sb.Append(t[i] + ":");
                                temp.Add(t[0], sb.ToString().Substring(0, sb.ToString().Length - 1));
    
                            }
                        }
                    }
                return temp;
            }
    
            public static string ToDictionaryString(this Dictionary<string, string> dictionary)
            {
                StringBuilder sb = new StringBuilder();
                foreach (string key in dictionary.Keys)
                {
                    sb.Append(string.Format("{0}:{1}", key, dictionary[key]));
                    sb.Append(",");
                }
                string token = string.Empty;
                if (sb.Length > 0)
                    token = sb.ToString().Substring(0, sb.ToString().Length - 1);
                return token;
            }