String.Replace在运行时不替换字符串

Ans*_*hul 2 .net c# string

以下代码中的以下行不会产生任何影响:

string1.Replace(string1.Substring(firstchar, lastchar - firstchar), "##");
Run Code Online (Sandbox Code Playgroud)

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), "##");

}
Run Code Online (Sandbox Code Playgroud)

Øyv*_*hen 11

更改

string1.Replace(string1.Substring(firstchar, lastchar - firstchar), "##");
Run Code Online (Sandbox Code Playgroud)

string1 = string1.Replace(string1.Substring(firstchar, lastchar - firstchar), "##");
Run Code Online (Sandbox Code Playgroud)

string.Replace 不会更改原始字符串,但返回更改后的字符串作为返回值.


gpv*_*vos 7

string1 = string1.Replace(...);
Run Code Online (Sandbox Code Playgroud)

从docs: String.Replace 返回一个新字符串,其中当前实例中所有出现的指定字符串都被另一个指定的字符串替换.