C# Hangman IndexOf 循环

标签 c# indexof

我是 C# 的初学者,我正在尝试制作一个“刽子手”游戏。当玩家猜一个字母时,我卡在了这个过程中。

如果单词是 DATA,应用程序只获取 DATA 中的第一个 A。 我知道我必须循环单词才能获得所有 A,但我很难让它发挥作用!

这是我的方法 myGuess 的代码:

public void myGuess(String letter)
{
        int plats = 0;

        string wordToGuess = label4.Text;

        plats = wordToGuess.IndexOf(letter);

        string wordToShow = label5.Text;
        //ersätt "_" med bokstaven på alla positioner bokstaven dyker upp

        wordToShow = wordToShow.Substring(0, wordToGuess.IndexOf(letter)) + letter +
                     wordToShow.Substring(plats + 1, wordToShow.Length - (plats + 1));

        label5.Text = wordToShow;  
}

我一直在尝试用谷歌搜索它,但因为我是初学者,所以我不明白 人们给出的建议。希望这是一种使用 IndexOf 循环多个字母的方法?

最佳答案

IndexOf 返回字符在字符串中第一个实例的索引。您可以使用子字符串来操作您的字符串,但是您会使它变得比您需要的更复杂。相反,您可以使用 for 循环遍历字符串中的每个字符:

for (int i = 0; i < wordToGuess.Length; i++ )
{
    if (WordToGuess[i] == letter)
    {
         //Update the correctly guessed letters, (using value of i to determine which letter to make visible.)
    }
}
label5.Text = wordToShow;

关于C# Hangman IndexOf 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22076919/

相关文章:

c# - FluentAssertion,仅针对条件检查约束

c# - 具有 lambda 表达式的事件

c# - 使用 Oracle Managed Driver Core 的 asp.net core docker 容器。打开连接时抛出 ORA-00604 和 ORA-01882

java - 如何将 IndexOf 与 Scanner 结合使用?

string - Swift - 查找字符串中两个位置之间的子字符串

c# - Vista 从安装程序安排任务

c# - 编译为空的虚拟 IEnumerable<T>

javascript - 如何在 JavaScript 中使用 indexOf 和 filter()

c# - string.IndexOf() 无法识别修改后的字符

string - Swift:获取字符串中子字符串开头的索引