2012-04-25 2 views
0

Мне интересно, почему мой string.replace не работает, он не меняет путь моей строки.String.Replace() не работает

Это код, я использую:

WebBrowserTask browser = new WebBrowserTask(); 
File theFile = new File(); 
theFile = (File)listBoxFiles.SelectedItem; 

var newPath = theFile.Path; 
newPath = newPath.Replace("C://inetpub//wwwroot//", "http://,mywebsite.com//Files//"); 
browser.URL = newPath; 
browser.Show(); 
+2

Каковы значения параметра File и newPath до и после замены? – Dave

+0

Они одинаковы, C: // inetpub // wwwrooot // для пути. – Kiwimoisi

+2

Я ожидал бы, что путь в Windows будет 'C: \\ inetpub \\ wwwrooot \\', ** не ** 'C: // inetpub // wwwroot //'. Проверьте фактическое значение, которое вы получаете в отладчике. – Oded

ответ

3

String.Replace почти наверняка . работа. Скорее всего, вы ошибаетесь.

Проверьте значение newPath.Contains("C://inetpub//wwwroot//") - если оно неверно, это потому, что ваша строка не содержит строку, которую вы пытаетесь заменить.

+1

* почти * обязательно!?! ;) – Dave

1

Это может звучать глупо, но вы первый отлажены и проверены, что NewPath фактически равно, потому что если у вас нет, и строка, которую вы пытаетесь заменить не существует своего не того, что его не работает, что нет работы.

1

string.Replace() должно работать. Я думаю, newPath не содержит "C://inetpub//wwwroot//". Поэтому попробуйте шаг за шагом проверить, когда вы отлаживаете, значение вашей строки.

Возможно, нет "C://inetpub//wwwroot//", но "C://inetpub//wwwroot". Так что это зависит.

Смежные вопросы