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

如何简化C#中判断用户输入包含指定字符串的代码?

简化C# Yes/No输入判断的几种方法

方法一:统一小写+集合匹配

先将用户输入转为全小写,再检查是否包含在预定义的肯定回答集合中,代码更简洁且易维护:

var positiveResponses = new HashSet<string> { "yes", "y", "it is" };
var lowerInput = UserInputCorrectnessTest.ToLower();
else if (positiveResponses.Any(response => lowerInput.Contains(response)))
{
    // 你的业务逻辑代码
}

说明:使用HashSet是因为它的查找效率优于普通List,后续新增肯定表述直接往集合里加即可。

方法二:不区分大小写的Contains重载

利用StringComparison.OrdinalIgnoreCase参数让Contains忽略大小写,结合集合实现判断:

var positiveResponses = new HashSet<string> { "yes", "y", "it is" };
else if (positiveResponses.Any(response => UserInputCorrectnessTest.Contains(response, StringComparison.OrdinalIgnoreCase)))
{
    // 你的业务逻辑代码
}

说明:无需转换整个输入字符串的大小写,直接在匹配时指定规则,适合需要保留原输入场景。

方法三:正则表达式匹配

如果需要更灵活的匹配(比如允许用户输入零散的大小写组合,如"It Is"、"Y"),可以用正则表达式:

else if (System.Text.RegularExpressions.Regex.IsMatch(UserInputCorrectnessTest, @"\b(yes|y|it is)\b", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
    // 你的业务逻辑代码
}

说明:\b是单词边界,能避免误匹配类似"yesman"这类包含目标字符串但语义不符的内容,RegexOptions.IgnoreCase直接覆盖所有大小写情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:27:07