本帖最后由 Star 于 2011-2-22 11:08 编辑 2 e/ O/ V' E4 W) H/ b4 Z+ Z2 R4 |; c, W+ F$ I Q- z; s
这一久在给EB_EXP debug,有个地方需要对字符串进行Insert处理,原来的程序是这样写的:
' s( D w: }& Z) B ~3 r7 c
result.Insert(result.IndexOf("</p>"), " (单位:分钟)"); 0 |% ~& P- _' E( i+ _* }: x; T$ E8 C. u8 P
复制代码
调试过程中,发现返回的这个result的值没有改变,仍然是执行Insert操作之前的值,于是去网上查,MSDN(http://msdn.microsoft.com/en-us/library/system.string.insert.aspx)上有一条注意说明: 0 A( {6 g. I! V1 { Note - E6 _4 j/ d2 R6 F$ C
This method does not modify the value of the current instance. Instead, it returns a new string in which value is inserted into the current instance. ; N9 k/ X Z4 ~ 6 q4 M- R6 q3 G# G* w2 d看了这句话就知道了,原来string的Insert操作没有修改result的值,所以返回result的话,是不对的,应该返回Insert方法的返回值,如下:
# J0 o) Y5 n7 N- T! |
result = result.Insert(result.IndexOf("</p>"), " (单位:分钟)"); / r9 E/ H& _, ~) V; j6 [% y