下面代码中的以下行不会产生任何影响:
string1.Replace(string1.Substring(firstchar, lastchar - firstchar), "##");
字符串string1
保持不变,并且我在使用IndexOf时返回相同的索引。
while (firstchar != string1.LastIndexOf("test"))
{
firstchar = string1.IndexOf("test");
lastchar = string1.IndexOf(" ");
using (StreamWriter writer = new StreamWriter("C:\\textfile1.txt"))
{
writer.WriteLine(string1.Substring(firstchar, lastchar - firstchar));
writer.WriteLine();
writer.Dispose();
}
string1.Replace(string1.Substring(firstchar, lastchar - firstchar), "##");
}
型
5条答案
按热度按时间dsekswqp1#
变更
字符串
至
型
string.Replace
不会改变原始字符串,但会将改变后的字符串作为返回值返回。yqkkidmi2#
字符串
从文档:
String.Replace
返回**一个新字符串,其中当前示例中所有出现的指定字符串都被另一个指定字符串替换。icomxhvb3#
字符串是不可变的,所以如果你在一个字符串对象中改变,一个新的对象被创建,所以你需要有新创建的字符串的引用。
所以
字符串
就能解决问题
kdfy810k4#
参考此MSDN Documentation
正如其他人所说,您需要使用
replace
操作的返回值。bmp9r5qi5#
实际上,您通过获取“Replace”的值来解决它。
我在做以下事情:
字符串
并期望有“ARBCD”,但它给了我最初的结果。
但必须做到:
型
一切都很好