2

私はC#を学んでいて、Mainですべてを書くのではなく、クラスで作業する練習をしようとしているので、絞首刑執行人のコンソールゲームを書こうとしています。

私はこの行で推測された手紙を初期化しています:

Guess guess = new Guess(Console.ReadLine());

Guess.csファイルでこのコンストラクターを指しているのは次のとおりです。

public Guess(string guessString)
    {
        CurrentGuess = Convert.ToChar(guessString);
    }

このプロパティを参照するCurrentGuess:

private char currentGuess

public char CurrentGuess
    {
        get
        {
            return currentGuess;
        }

        set
        {
            foreach (char letter in guessList)
            {
                if (letter == value)
                {
                    GuessedAlready = true;
                    break;
                }
            }

            if (GuessedAlready == false)
            {
                value = currentGuess;
                guessesMade++;
                guessList[guessesMade-1] = value;

            }
        }
    }

プログラムを実行してchar値を入力すると、currentGuessに設定されません。また、Visual Studioは、currentGuessが割り当てられることはなく、現在の値(空白)を保持していると言っています。

setキーワードが機能しないのはなぜですか?currentGuessへの道を何度もたどっていますが、見えないので、まだわからない理由だと思います。

どんな助けでもいただければ幸いです!

4

1 に答える 1

2

セッターでこの割り当てを交換する必要があります

value = currentGuess;

の中へ

currentGuess = value;

setメソッドでは、値は入力パラメーターです。あなたの場合、その値をローカルクラス変数curtentGuessに格納したいとします。

于 2012-09-29T21:23:24.897 に答える