2010-09-03 2 views
3

У меня есть массив строк, который приходит из расщепленного СтрокаC# Строковый массив Заменить последний элемент

string[] newName= oldName.Split('\\'); 

newName.Last().Replace(newName.Last(), handover); 

Почему оленья кожа это заменяет мой последний элемент в массиве?

последней() происходит от использования Linq

приветы

ответ

9

Вызов string.Replace не изменяет существующую строку - строки неизменны.

Вместо этого он возвращает строку с соответствующими заменами. Тем не менее, вы не используете возвращаемое значение, поэтому оно практически не работает.

Вам необходимо изменить элемент массива, чтобы ссылаться на другую строку. Что-то вроде этого:

newName[newName.Length - 1] = handover; 
+0

Thx, который отлично работал. Никогда не упоминал, что он добавляет туда новую строку. Должен прочитать руководство;) заменить ... – Mark

+0

Один из тех gotchas ;-) – Michael

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