views:

49

answers:

1

Hi, i have a String Array which comes from a splitted String

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

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

Why doesnt this replaces my last element in the Array?

last() comes from using linq

regards

+6  A: 

Calling string.Replace doesn't alter the existing string - strings are immutable.

Instead, it returns a new string, with the appropriate replacements. However, you're not using the return value, so it's basically a no-op.

You need to change the array element itself to refer to a different string. Something like this:

newName[newName.Length - 1] = handover;
Jon Skeet
Thx that worked fine. Never mentioned that its adding a new string there. Should have to read the manual;) replace ...
Mark
One of those gotchas ;-)
Michael