私は簡単なハングマンゲームをやっています。ユーザーが正しい文字を入力する部分を除いて、すべてがうまくいきました。解決策の単語の対応する文字を前者に置き換える必要があります。
まず、ここに私のコードがあります:
private void checkIfLetterIsInWord(char letter)
{
if (currentWord != string.Empty)
{
if (this.currentWord.Contains(letter))
{
List<int> indices = new List<int>();
for (int x = 0; x < currentWord.Length; x++)
{
if (currentWord[x] == letter)
{
indices.Add(x);
}
}
this.enteredRightLetter(letter, indices);
}
else
{
this.enteredWrongLetter();
}
}
}
private void enteredRightLetter(char letter, List<int> indices)
{
foreach (int i in indices)
{
string temp = lblWord.Text;
temp[i] = letter;
lblWord.Text = temp;
}
}
だから私の問題はラインです
temp[i] = letter;
ここで、「プロパティまたはインデクサーを割り当てることができません - 読み取り専用です」というエラーが表示されます。私はすでにグーグルで調べたところ、実行時に文字列を変更できないことがわかりました。しかし、推測を含むラベルを置き換える方法がわかりません。ラベルの形式は
_ _ _ _ _ _ _ //single char + space
解決策の単語の文字を推測された文字に置き換える方法を誰かに教えてもらえますか?