首页 > 解决方案 > 尽管改变了自己的条件,但循环仍然卡住了

问题描述

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

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

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

标签: c#

解决方案


删除空间时需要将变量分配回自身

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");
}

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


推荐阅读