PlayAgainメソッド[複製]

Oct 07 2020

ここに画像の説明を入力してください

私はHighLowゲームに取り組んでいます。ユーザーがもう一度プレイしたい場合にPlayAgainを実行するメソッドを作成しようとしていますが、このバグが表示されます。すべてのコードパスが値を返すわけではありません。デバッグボタンをクリックすると、PlayAgainをプロパティに置き換えると表示されます。自動デバッグをクリックすると、ビルドは下部にのみ表示されますが、それでも別のバグがあるため、削除して{get; セットする; PlayAgainの横にあるeveryCodeターンエラー。誰でも助けてください

    public static void Main(string[] args)
    {

        bool play = true;
        while (play)
        {
            //Instatiate
            HighLow.Play();

            //Play Again?
            play = PlayAgain();
        }
        Console.WriteLine("s");
    }
    public bool PlayAgain { get; set; }
    private static bool PlayAgain()
    {
        //Ask user

        HighLow.Footer();
        Console.WriteLine("Would you like to play again?[Y/N]");
        //Catch resp
        string userchoice = Console.ReadLine().ToUpper();
        //Condition 
        if (userchoice == "Y")
        {
            //clean 
            Console.Clear();
          
            Main(null);
        }
        else
        
        {
           
            Console.WriteLine("Thanks for playing, have a great day!");
            Environment.Exit(0);
        }
    }
}

}

回答

SolimanSamirSoliman Oct 07 2020 at 12:58

つまり、値を返すことになっているメソッドは何も返さないということです。コードを見ずに少し難しいですが、初心者のためにメソッドによって返される値を指定する必要があります。その場合は、メソッドの最後にあるreturnステートメントで値を返す必要があります。簡単!