C# string replace does not work as it doesn't replace the value
.net, c#, string
Solution
The problem is that strings are immutable. The methods replace, substring, etc. do not change the string itself. They create a new string and replace it. So for the above code to be correct, it should be
path1 = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");
Or just
path = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");
if another variable is not needed.
This answer is also a reminder that strings are immutable. Any change you make to them will in fact create a new string. So keep that in mind with everything that involves strings, including memory management. As stated in the documentation here.
String objects are immutable: they cannot be changed after they have been created. All of the String methods and C# operators that appear to modify a string actually return the results in a new string object.
Problem
I am trying to replace a part of string with another another string. To be more precise I have `C:\Users\Desktop\Project\bin\Debug` and I am trying to replace `\bin\Debug` with `\Resources\People` I have tried the following: `path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");` `path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");` None of the above two seems to work, as the string remains the same and nothing is replaced. Am I doing something wrong?