string b = "st";
            string sHead = "112233";
         如何才能在t的前面插入sHead,使b等于s112233t?

解决方案 »

  1.   

    string str="st";
    MessageBox.Show( str.Insert(1, "112233"));
      

  2.   

      string b = "opqrst";
                string sHead = "112233";
                sHead.Insert(sHead.LastIndexOf("22"), b);
                MessageBox.Show(sHead);
    我这样写,运行后的结果是112233,为什么?
      

  3.   

    要注意.net对字符串的特殊处理,你这里用b.Insert插入后b的值是不变的,你需要重新定义个字符创来保存新的结果:            string b = "st";
                string sHead = "112233";
                string newB=b.Insert(1, sHead);
                MessageBox.Show(b);
    你试试看就知道b还是原来的st。
      

  4.   


    看我的答复,这是.net对字符串的特殊处理之处。
      

  5.   

    string b = "opqrst";
                string sHead = "<td width=208 style='width:156pt'></td></tr>";      
                sHead = sHead.Insert(sHead.LastIndexOf("</td>") + "</td>".Length, b);
      

  6.   


    string b = "opqrst";
    string sHead = "112233";
    sHead = sHead.Insert(sHead.LastIndexOf("22"), b);
    MessageBox.Show(sHead);
      

  7.   

        string str = "aa";
            string bb = "bb";
            string aa= str.Insert(1, bb);
            Response.Write(aa);我试过啦!是对的啊!
      

  8.   


    .net中String比较特殊,有恒定不变性
    sHead.Insert(…)、sHead.ToUpper()、sHead.SubString(…)等等之后,sHead的值不变
    他只是不断地产生临时字符串对象
    所以
    string str = "aa";
      string bb = "bb";
      string aa= str.Insert(1, bb);
      Response.Write(aa);//我试过啦!是对的啊!
    这样写可以的