本帖最后由 Star 于 2011-2-22 11:08 编辑 3 W2 y/ M5 j9 `: f! {
6 ?+ f3 {! k* `
这一久在给EB_EXP debug,有个地方需要对字符串进行Insert处理,原来的程序是这样写的:- 6 C( @" n3 i9 ~
- result.Insert(result.IndexOf("</p>"), " (单位:分钟)");
/ W2 _( p9 r: Q! F) V
复制代码 调试过程中,发现返回的这个result的值没有改变,仍然是执行Insert操作之前的值,于是去网上查,MSDN(http://msdn.microsoft.com/en-us/library/system.string.insert.aspx)上有一条注意说明:
+ z9 Q! ]+ z6 X$ j, g6 V Note
/ j: Q' b, n+ p1 B$ J) { 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.5 q- B; o e6 r6 f) j# Y
1 |- \/ f' ]8 X: \
看了这句话就知道了,原来string的Insert操作没有修改result的值,所以返回result的话,是不对的,应该返回Insert方法的返回值,如下:- ( i, {! y* f# ~8 b
- result = result.Insert(result.IndexOf("</p>"), " (单位:分钟)");% p! @, z3 }' U, A
复制代码 |