Я изучаю C#, и у меня возникают проблемы с переменной областью в моей простой консольной программе.Проблемы с переменной областью 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();
}
}
}
Ваш Основной метод - статический метод, другие - не статические. добавить статику в varibles/method будет хорошо. – sheauren
Я бы хотел, чтобы это не было приостановлено, честно говоря, это так ясно, как может быть то, с чем вы боретесь. Я подробно рассказал о вашей проблеме и о том, как ее решить, но суммировать ее в форме комментариев, чтобы я мог ее получить, теперь существенно меняется: 'game();' to 'new Program(). Game(); 'и ваша программа должна функционировать правильно. –
Спасибо, это сработало отлично! Теперь мне просто нужно выяснить, зачем нужна программа(). Я знаю, что сейчас ухожу за свое понимание, но просто хочу попробовать этот вызов, пока я работаю через свой учебник. –