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

C#有没有支持char类型的类似.Contains的方法 用于Hangman猜词游戏开发

C# Hangman猜词游戏字符匹配方案

核心需求实现

你要判断char类型的用户输入是否存在于目标单词中,有3种兼容不同.NET版本的实现方案:

  • 方案1(高版本.NET直接用):.NET Core 2.1+、.NET 5+版本的string类原生支持Contains(char)重载,直接写word.Contains(ltrchce)即可
  • 方案2(全版本兼容):用string.IndexOf()方法判断,返回值大于等于0说明字符存在,适配所有.NET版本
  • 方案3(用你已定义的字符数组判断):引入using System.Linq;命名空间后,直接调用字符数组的Contains方法:ltrlist.Contains(ltrchce)

你标注区域的补全代码

推荐用全版本兼容的方案2,还可以额外加忽略大小写的逻辑,避免大小写不匹配的问题:

void ltrcheck()
{
    // StringComparison.OrdinalIgnoreCase 代表匹配时忽略大小写
    if (word.IndexOf(ltrchce, StringComparison.OrdinalIgnoreCase) >= 0)
    {
        Console.WriteLine("Great you got a letter");
    }
    else
    {
        Console.WriteLine("Wrong guess, try again");
    }
}

原有代码优化提示

你当前代码存在一个逻辑问题:rand.Next(2)只会生成0和1两个随机值,后续numword等于2-5的分支永远不会触发,建议改成rand.Next(1,6)生成1到5的随机整数。
另外你每个分支里循环给字符数组赋值的逻辑可以简化,直接用ltrlist = word.ToCharArray();一行就能完成,不需要手动循环赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:45:06