尽管更改了自己的条件,但while循环仍然停留

时间:2019-10-01 12:45:06

标签: c#

我正在尝试删除字符串的可用部分前面的空格和某些符号。我正在使用while循环和if语句。 while循环在if语句之前运行,但是尽管如此,当while和if条件都为true时,它只会卡在while循环中。

a magrittr::%>% b

这只是在控制台中重复写入1

3 个答案:

答案 0 :(得分:1)

删除空格时,您需要将变量分配回自身

x86

例如:https://dotnetfiddle.net/K363wM

答案 1 :(得分:0)

如文档中所述。 https://docs.microsoft.com/en-us/dotnet/api/system.string.remove?view=netframework-4.8

.Remove()不会更改原始字符串,但会返回更改后的新字符串,因此将代码更改为

string newNameTemp = " [i]";
while (newNameTemp.StartsWith(" ")) {
    newNameTemp = newNameTemp.Remove(0,1);
    Console.WriteLine("1");
}
if (newNameTemp.StartsWith("[i]")) {
    newNameTemp = newNameTemp.Remove(0,3);
    Console.WriteLine("2");
}

应该解决您的问题。

答案 2 :(得分:0)

string newNameTemp = " [i]";
        newNameTemp = newNameTemp.Replace(" ", "");           
        if (newNameTemp.StartsWith("[i]"))
        {
            newNameTemp = newNameTemp.Remove(0, 3);
            Console.WriteLine("2");
        }

只需用“”替换字符串中的所有空格,然后删除特殊字符。