将一个字符串 [index] 与另一个字符串进行比较

本文关键字:字符串 另一个 比较 index 一个 | 更新日期: 2023-09-27 17:57:06

我正在学习C#,我正在从头开始构建一个刽子手游戏,作为我的第一个项目之一。

除了用正确猜出的字母替换隐藏单词的破折号的部分之外,一切都有效。

例如:-----在你猜出 G、E 和 A 后变成 G-EA-。

我有一个 for 循环,从逻辑上讲,它似乎可以完成这项工作,但我不能对字符串或字符使用 == 运算符。

for (int i = 0; i <= answer.Length; i++) //answer is a string "theword"
            {
                if (answer[i] == passMe) //passMe is "A" for example
                {
                    hiddenWord = hiddenWord.Remove(i, 1);
                    hiddenWord = hiddenWord.Insert(i, passMe);
                }
            }

我在网上搜索,试图找到一个好的解决方案。 大多数人建议使用正则表达式或其他我还没有学过的命令,因此不完全了解如何实现。

我尝试将两者转换为字符格式,希望它能修复它,但到目前为止没有运气。提前感谢任何帮助。

将一个字符串 [index] 与另一个字符串进行比较

如果passMe是一个只有一个字符的字符串,那么

if (answer[i] == passMe[0])

通过这种方式,您可以将第 i 个位置的字符与用户输入的第一个位置的字符进行比较

您的代码中也存在严重错误。您的循环关闭一个,将其更改为

for (int i = 0; i < answer.Length; i++)

NET 中的数组从索引零开始,并且可能的最大索引值始终比数组的长度小 1。

answer[i] 指的是一个字符,passMe 是一个字符串。(不是角色)

试试这个

for (int i = 0; i <= answer.Length; i++) //answer is a string "theword"
            {
                if (answer[i] == passMe[0]) //passMe is "A" for example
                {
                    hiddenWord = hiddenWord.Remove(i, 1);
                    hiddenWord = hiddenWord.Insert(i, passMe);
                }
            }

您需要将角色与角色进行比较。