For the following code, I can't get the string.Replace
to work:
someTestString.Replace(someID.ToString(), sessionID);
when I debug and check parameters they have values I expect - i.e. someID.ToString()
got "1087163075", and sessionID
has "108716308" and someTestString
contains "1087163075".
I have no idea why this would not work change someTestString
Complete sample:
string someTestString =
"<a href='myfoldert/108716305-1.jpg' target='_blank'>108716305-1.jpg</a>"
someTestString.Replace("108716305", "NewId42");
the result (in someTestString
) should be this:
"<a href='myfoldert/NewId42-1.jpg' target='_blank'>NewId42-1.jpg</a>"
but it doesn't change. The string for someTestString
remains unchanged after hitting my code.
that should work for you
strings are immutable, the replace will return a new string so you need something like
You can achieve the desired effect by using
As womp said, strings are immutable, which means their values cannot be changed without changing the entire object.
Strings are immutable. The result of
string.Replace
is a new string with the replaced value.You can either store result in new variable:
or just reassign to original variable if you just want observe "string updated" behavior:
Note that this applies to all other
string
functions likeRemove
, trim and substring variants - all of them return new string as original string can't be modified.