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

时间:2014-04-06 22:32:25

标签: c#

我正在学习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);
                }
            }

我试图找到一个好的解决方案。大多数人建议使用我尚未学习的正则表达式或其他命令,因此不完全了解如何实现。

我已经尝试将两者转换为char格式,希望能解决它,但到目前为止还没有运气。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

NET中的数组从索引零开始,并且可能的最大索引值总是小于数组的长度。

答案 1 :(得分:0)

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

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