+ 1
Зачем вызывать метод Main и делать статическим САМОМУ? (В Решётке)
Я при выполнении тренажеров использую компилятор не из SoloLearn. В "моём" компиляторе я пишу "void Main()". И он у меня прекрасно работает! Но стоит мне перенести этот код в СолоЛеарн, то вылетает ошибка! Исправление этой ошибки является дописание к "void Main()" "static", то есть получается "static void Main()". В "моём" компиляторе, повторяю, параметр "static" необязателен, но в компиляторе SoloLearn это обязательно. По какой причине? И зачем?
1 Answer
0
TRANSLATION
When running simulators, I use a compiler other than SoloLearn. In "my" compiler, I write "void Main()". And it works fine for me! But as soon as I transfer this code to SoloLearn, an error pops up! The fix for this error is to append "static" to "void Main()", that is, "static void Main()". In "my" compiler, I repeat, the "static" parameter is optional, but in the SoloLearn compiler it is mandatory. For what reason? And why?
ANSWER
static is actually the correct way to do it. Main() is a static function. Apparently in recent versions of C# you can omit it and the compiler will secretly assume static for Main(). The function is static and it's common practice to put static there. SoloLearn's C# compiler doesn't support this new convention, but that should not be a problem. Just put the keyword. I use JetBrains Rider and it still requires static just as SoloLearn does.
static на самом деле правильный способ сделать это. Main() — это статическая функция. Видимо, в последних версиях C# вы можете опустить ее, и компилятор тайно предположит static для Main(). Функция является статической, и это обычная практика — помещать туда static. Компилятор C# SoloLearn не поддерживает это новое соглашение, но это не должно быть проблемой. Просто поместите ключевое слово. Я использую JetBrains Rider, и он по-прежнему требует static, как и SoloLearn.