C#stringreplace不起作用
我想用另一个stringreplace一部分string。 更准确地说我有C:\Users\Desktop\Project\bin\Debug 
 我试图用\Resources\Peoplereplace\bin\Debug 
我已经尝试了以下内容:
  a) path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt"); 
  b) path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt"); 
以上三种方法似乎都不起作用,因为string保持不变,没有任何东西被replace。 我做错了什么?
问题是string是不可变的。 replace方法,子串等不会改变string本身。 他们创build一个新的string,并将其replace。 所以对于上面的代码是正确的,应该是
 path1 = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt"); 
要不就
 path = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt"); 
如果另一个variables不需要
编辑这个答案也是一个提醒,string是不可改变的。 你对他们所做的任何改变实际上都会产生一个新的string。 所以,请记住所有事情(包括内存pipe理)
  path.Replace方法实际上返回一个string 。 您应该执行以下操作: 
 path = path.Replace("firstString", "secondString"); 
 String.Replace(string,string) returns string. 
所以,在一些stringvariables中保存新的path。
 path = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");