将一个字符串 [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);
}
}
我在网上搜索,试图找到一个好的解决方案。 大多数人建议使用正则表达式或其他我还没有学过的命令,因此不完全了解如何实现。
我尝试将两者转换为字符格式,希望它能修复它,但到目前为止没有运气。提前感谢任何帮助。
如果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);
}
}
您需要将角色与角色进行比较。