字符串插入不会产生任何影响

Las*_*Bye 0 c# string

将字符串插入字符串似乎没有任何效果.我正在使用以下代码:

string stNum = string.Format("{0:00}", iValue);
DesiredCode.Insert(0, stNum);
txtCode.Text = DesiredCode;
Run Code Online (Sandbox Code Playgroud)

断点显示stNum具有所需的值,DesiredCode也是我们在插入之前所期望的.但插入后,什么都不会发生,DesiredCode和以前一样!

有人可以指出我正确的方向,我做错了什么?

Jon*_*eet 7

字符串是不可变的.所有方法都喜欢ReplaceInsert返回一个新的字符串,这是操作的结果,而不是更改现有字符串中的数据.所以你可能想要:

txtCode.Text = DesiredCode.Insert(0, stNum);
Run Code Online (Sandbox Code Playgroud)

或者对于整个块,使用直接ToString格式化而不是使用string.Format:

txtCode.Text = DesiredCode.Insert(0, iValue.ToString("00"));
Run Code Online (Sandbox Code Playgroud)

或者甚至更清楚,在我看来,将使用字符串连接:

txtCode.Text = iValue.ToString("00") + DesiredCode;
Run Code Online (Sandbox Code Playgroud)

请注意,没有这些都会改变的值DesiredCode.如果你想这样做,你需要分配给它,例如

DesiredCode = iValue.ToString("00") + DesiredCode;
txtCode.Text = DesiredCode;
Run Code Online (Sandbox Code Playgroud)