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.
Strings are immutable. The result of
string.Replaceis 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
stringfunctions likeRemove,Insert, trim and substring variants – all of them return new string as original string can’t be modified.