将字符串插入字符串似乎没有任何效果。我正在使用以下代码:
string stNum = string.Format("{0:00}", iValue);
DesiredCode.Insert(0, stNum);
txtCode.Text = DesiredCode;
Breakpoints showstNum
有想要的值,而 DesiredCode 也是我们在插入之前所期望的。但是插入之后,什么都不会发生,并且 DesiredCode 和之前一样!
有人可以指出我做错了什么吗?
字符串是不可变的。所有方法都喜欢Replace
并Insert
返回一个作为操作结果的新字符串,而不是更改现有字符串中的数据。所以你可能想要:
txtCode.Text = DesiredCode.Insert(0, stNum);
或者对于整个块,使用直接ToString
格式化而不是使用string.Format
:
txtCode.Text = DesiredCode.Insert(0, iValue.ToString("00"));
在我看来,或者更清楚的是使用字符串连接:
txtCode.Text = iValue.ToString("00") + DesiredCode;
请注意,这些都不会改变DesiredCode
. 如果你想这样做,你需要重新分配给它,例如
DesiredCode = iValue.ToString("00") + DesiredCode;
txtCode.Text = DesiredCode;
字符串是不可变的!
DesiredCode = DesiredCode.Insert(0, stNum);
字符串在 C# 中是不可变的。这意味着您需要在操作后将返回值分配给String.Insert
变量string
才能访问它。
string stNum = string.Format("{0:00}", iValue);
DesiredCode = DesiredCode.Insert(0, stNum);
txtCode.Text = DesiredCode;