如何把stringBuilder里面的值赋给Dictionary
如stringBuilder的值为:{1:40000018331;2:40100000113;}
把1、2分别赋给Dictionary的key,
40000018331、40100000113 赋给Dictionary的value。
谢谢。

解决方案 »

  1.   

    本帖最后由 caozhy 于 2012-03-19 17:58:51 编辑
      

  2.   

    string类型有Select的方法么  直接就报错了呀 。
    能解释一下么 。
      

  3.   

           StringBuilder sb = new StringBuilder();            sb.Append("{1:40000018331;2:40100000113;}");            string str =  sb.ToString().Replace("{","").Replace("}","");            string[] strs = str.Split(new char[]{';'}, StringSplitOptions.RemoveEmptyEntries);            Dictionary<string, string> dic = new Dictionary<string, string>();            string[] every;
                for (int i = 0; i < strs.Length; i++)
                {
                    every = strs[i].Split(':');                dic[every[0]] = every[1];
                }
            }
      

  4.   

    知道是linq阿  可是为什么会报错呢 
    报的是“string 没有select方法”
      

  5.   


             StringBuilder sb = new StringBuilder();
                sb.Append("1:40000018331;2:40100000113;");
                string[] resl1 = sb.ToString().Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                Dictionary<int, string> dicstr = new Dictionary<int, string>();
                foreach (string dstr in resl1)
                {
                    dicstr.Add(Convert.ToInt32(dstr.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[0]), dstr.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[1]);
                }