You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改性别输入验证代码使其循环至输入正确为止?

问题解决:循环无法终止的C#性别输入校验代码修改

你的循环条件逻辑错误导致了无限循环:使用||(逻辑或)时,无论输入什么合法值,总有一个条件会成立。比如输入"male"时,Gender != "Male"为true,整个表达式结果就是true,循环永远不会停止。

修改方案1:修正逻辑运算符

把||替换成&&(逻辑与),只有当输入内容同时不等于所有合法值时,才进入循环提示重新输入:

while (Gender != "male" && Gender != "Male" && Gender != "female" && Gender != "Female")
{
    Console.WriteLine("Invalid input please select type Male or Female");
    Gender = Console.ReadLine();
}

修改方案2:优化为不区分大小写判断(更简洁)

用string.Equals的不区分大小写参数,不用枚举所有大小写组合,代码更健壮:

while (!string.Equals(Gender, "male", StringComparison.OrdinalIgnoreCase) && !string.Equals(Gender, "female", StringComparison.OrdinalIgnoreCase))
{
    Console.WriteLine("Invalid input please select type Male or Female");
    Gender = Console.ReadLine();
}

额外提示:如果首次进入循环前Gender未初始化,建议先读取一次输入再进入循环,避免空值判断问题:

string Gender = Console.ReadLine();
while (!string.Equals(Gender, "male", StringComparison.OrdinalIgnoreCase) && !string.Equals(Gender, "female", StringComparison.OrdinalIgnoreCase))
{
    Console.WriteLine("Invalid input please select type Male or Female");
    Gender = Console.ReadLine();
}

内容的提问来源于stack exchange,提问作者DrHelix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 01:27:18