Я, по общему признанию, неопытен с C#/OOP, но недавно я натолкнулся на этот код, и он чувствует себя некорректным для меня, хотя он, похоже, работает нормально. Код из консольного приложения.Правильно ли это код консоли C#?
namespace ConsoleApp
{
class Program
{
static private double Theta{ get; set; }
static void Main(string[] args)
{
...
var thetaString = Console.ReadLine();
if (!String.IsNullOrEmpty(thetaString))
Theta = Math.PI * Double.Parse(thetaString)/180.0;
...
}
}
}
Если я удалю статическую декларацию из Theta, она больше не будет компилироваться. Если я удалю {get; set}, он функционирует так же, как и ранее. Что делает этот код? Каково значение аксессуаров?
Работает ли он так, как ожидалось? Если это так - это правильно, иначе это не так. – zerkms
Почему вы думаете, что это неправильно? Как вы думаете, что это должно быть? – Servy
Статические функции не могут получить доступ к переменным экземпляра, свойствам и т. Д. – adt