在按下键时删除字符串的最后一个字符

本文关键字:字符串 最后一个 字符 删除 | 更新日期: 2023-09-27 18:16:35

我现在使用这个来删除字符串的最后一个字符,如果按下后退键,但是如果我按住键,它不会从字符串中删除字符,而其余的条件可以很好地将字符添加到字符串中。我猜想Remove函数在某种循环中不能很好地工作。

if (key == Keys.Back)
{
    if (text.Length > 0)
    {
        text.Remove(text.Length - 1);
    }
}

Update:我以为它是在按下键时删除字符,但它没有。感谢你对这个愚蠢错误的回答

在按下键时删除字符串的最后一个字符

Remove方法不修改text。它返回一个新字符串,您需要将其分配回textBox(或text,如果您想操作text变量):

textBox1.Text = text.Remove(text.Length - 1);

字符串是不可变的,因此方法Remove将返回一个新字符串。它不会修改现有的字符串。要查看更改,将结果赋值回text变量。

text = text.Remove(text.Length - 1);

正常运行,替换为:

text = text.Remove(text.Length - 1);

也许我也会像其他人一样发布相同的答案-.-

text = text.Remove(text.Length - 1);