在输入字符串的第4个字符后添加空格写它吗?

时间:2020-08-04 20:14:56

标签: c# string format

我知道这里曾经问过类似的问题,但是我找不到一个解释如何在用户在文本框中输入字符串时进行此LIVE的问题。这与C#中的Windows窗体应用有关。

这是我当前的代码:

for (int i = 4; i <= input.Length; i += 4)
{
    input = input.Insert(i, " ");
    i++;
}

这不起作用,因为它会在每次按键后继续添加空格。我在单向按键上运行了这个for循环。

2 个答案:

答案 0 :(得分:0)

这是我想到的解决方案,我认为如果您改编“控制台”。窗口窗体中的东西,它将起作用。

 string text = string.Empty;
    for (int i = 0; i < 50; i++) //Change 50 for whatever size you want
    {
        switch (i % 5) //every time 'i' is a multiple of 5 it will write a blank space
        {
            default:
                text += Console.ReadKey().KeyChar;
                break;
            case 0:
                Console.Write(" ");
                break;
        }
    }

答案 1 :(得分:0)

好吧,我知道了。对于以后几年浏览此线程的任何人,这是我所做的:

if (input.Replace(" ", String.Empty).Length % 4 == 0 && input[input.Length - 1] != ' ')
{
    input += ' ';
}

这会在需要的地方添加空格,并确保不会导致添加空格和触发TextChanged事件的无限循环。