本帖最后由 Star 于 2011-2-22 11:08 编辑 ) ~7 ^. e! U8 ^9 h6 I. Q8 I% J% ?
) S9 ^: s; W$ S. h8 M; N
这一久在给EB_EXP debug,有个地方需要对字符串进行Insert处理,原来的程序是这样写的:
3 \' r4 L2 @" X; g5 h9 q" q: e
result.Insert(result.IndexOf("</p>"), " (单位:分钟)"); ; ^& X9 S K6 F. F$ E1 A2 G5 h
复制代码
调试过程中,发现返回的这个result的值没有改变,仍然是执行Insert操作之前的值,于是去网上查,MSDN(http://msdn.microsoft.com/en-us/library/system.string.insert.aspx)上有一条注意说明: - Q6 \0 e* J, S- ~0 V Note * g0 A/ W; y( ~3 ^/ X" ?7 d+ 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.1 r) ]6 X+ [2 I# N9 D
# t x& v: f$ k: S看了这句话就知道了,原来string的Insert操作没有修改result的值,所以返回result的话,是不对的,应该返回Insert方法的返回值,如下:
4 z5 O* E8 D/ s* N, n5 i
result = result.Insert(result.IndexOf("</p>"), " (单位:分钟)");% @2 a# O, p0 _