私は C# を学習していますが、単純なコンソール プログラムで変数のスコープに問題があります。
以前にインスタンス化された変数を参照しようとすると問題が発生することを除いて、プログラムはこれまでのところ完全に実行されます。
メソッドを静的から非静的に変更しようとしましたが、パブリック/プライベート アクセスも適用しましたが、役に立ちませんでした。
正しい方向へのナッジが必要なだけです。誰かが助けてくれることを願っています!
私が得ているエラーメッセージは次のとおりです。
エラー 1 非静的フィールド、メソッド、またはプロパティ 'ConsoleApplication2.Program.game()' にはオブジェクト参照が必要です
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
public class Program
{
int numberToGuess;
int numberGuessed;
int triesRemaining;
public void game()
{
Console.WriteLine(" ==Welcome to Guess My Number== \n");
Console.WriteLine("Player 1: Please enter your number to guess between 1 and 20: \n");
numberToGuess = int.Parse(Console.ReadLine());
Console.WriteLine("Player 2, please enter your first guess, you have 7 tries: \n");
numberGuessed = int.Parse(Console.ReadLine());
if (numberGuessed == numberToGuess)
{
correct();
}
else
{
incorrect();
}
}
public void correct()
{
Console.WriteLine("Congratulations, the number was in fact " + numberToGuess);
}
public void incorrect()
{
}
static void Main(string[] args)
{
game();
}
}
}