标题: string.Insert方法应该注意其返回值 [打印本页] 作者: Star 时间: 2011-2-22 11:02 标题: string.Insert方法应该注意其返回值 本帖最后由 Star 于 2011-2-22 11:08 编辑 + G1 q+ |" e" K; }( Q# }1 J& I. U+ y4 W& M8 h
这一久在给EB_EXP debug,有个地方需要对字符串进行Insert处理,原来的程序是这样写的:
$ F8 |7 M5 S, x) `
result.Insert(result.IndexOf("</p>"), " (单位:分钟)");5 z4 U) f% p6 H: ~- R
复制代码
调试过程中,发现返回的这个result的值没有改变,仍然是执行Insert操作之前的值,于是去网上查,MSDN(http://msdn.microsoft.com/en-us/library/system.string.insert.aspx)上有一条注意说明: ' p: [ X+ ^, F4 R Note : D" E) E& e) A 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.( y& u1 I/ s4 |
$ e9 F. H0 Y0 f( [
看了这句话就知道了,原来string的Insert操作没有修改result的值,所以返回result的话,是不对的,应该返回Insert方法的返回值,如下:
. d$ H6 s: D. q* z
result = result.Insert(result.IndexOf("</p>"), " (单位:分钟)");* e' [0 w& {1 z- l