C # string replace não funciona

Eu estou tentando replace uma parte da seqüência de caracteres por outra outra seqüência de caracteres. Para ser mais preciso, eu tenho C:\Users\Desktop\Project\bin\Debug

e estou tentando replace \bin\Debug com \Resources\People

Eu tentei o seguinte:

  1. path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");

  2. path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");

Nenhum dos dois acima parece funcionar, pois a string permanece a mesma e nada é substituído. Estou fazendo algo errado?

O problema é que as strings são imutáveis. Os methods replace, substring etc não alteram a string em si. Eles criam uma nova string e a substituem. Então, para o código acima estar correto, deve ser

 path1 = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt"); 

Ou apenas

 path = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt"); 

se outra variável não for necessária

EDIT Esta resposta também é um lembrete de que as strings são imutáveis. Qualquer alteração que você fizer a eles criará, de fato, uma nova string. Então, tenha isso em mente com tudo (incluindo gerenciamento de memory)

O método path.Replace , na verdade, retorna uma string . Você deve fazer o seguinte:

 path = path.Replace("firstString", "secondString"); 
 String.Replace(string,string) returns string. 

Então, salve o novo caminho em alguma variável de string.

 path = path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");