本帖最后由 Star 于 2011-2-22 11:08 编辑 6 y; ~- A+ F& k. y3 j/ N
+ o1 X+ A' a( }0 R0 n C. f; v' f1 Z
这一久在给EB_EXP debug,有个地方需要对字符串进行Insert处理,原来的程序是这样写的:
# f7 ?0 a( X+ @* |
result.Insert(result.IndexOf("</p>"), " (单位:分钟)"); 7 [+ f% ?' Y, s8 w! S
复制代码
调试过程中,发现返回的这个result的值没有改变,仍然是执行Insert操作之前的值,于是去网上查,MSDN(http://msdn.microsoft.com/en-us/library/system.string.insert.aspx)上有一条注意说明: , I+ W* z$ v- V. c% o Note * J$ V/ v3 Q' B: u 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. * C( [2 D" U, |1 N. V) g }& e8 v( B; ^4 {" o
看了这句话就知道了,原来string的Insert操作没有修改result的值,所以返回result的话,是不对的,应该返回Insert方法的返回值,如下:
" G3 R% Q1 U$ o
result = result.Insert(result.IndexOf("</p>"), " (单位:分钟)"); % Y4 G8 W$ b9 y