Tryptyk Ответов: 3

Метод Main() должен иметь ошибку возвращаемого типа; первый день Мессинга w/ C#


Я только учусь использовать C# и столкнулся с этой ошибкой как часть задания для моего класса. К сожалению, в данный момент я неграмотен в коде, поэтому, пожалуйста, будьте терпеливы со мной. Основываясь на приведенном ниже коде, я знаю, что компилирую что-то неправильно, но я не понимаю, что я делаю неправильно, и продолжаю получать ошибку CS1520 "метод должен иметь тип возврата" и не могу понять, почему.

Edit: добавление void в static void Main() приводит к ошибке CS0017 "определено более одной точки входа". Опять же, я не понимаю, что это значит, или что я должен исправить.

Что я уже пробовал:

using System;
using System.Linq;

class Program
{
    static Main()
    {
        int number1, number2, number3;
        Console.Write("Enter an integer score");
        number1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("Enter an integer score");
        number2 = Convert.ToInt32(Console.ReadLine());
        Console.Write("Enter an integer score");
        number3 = Convert.ToInt32(Console.ReadLine());

        int result = (number1 + number2 + number3) % 3;
        Console.WriteLine("The average of {0}, {1}, {2} is: {3}",
        number1, number2, number3, result);
    }
}

George Swan

Решение 1-это то, почему вы получаете ошибку, но есть и другая ошибка. Ваш расчет среднего значения неверен. Вы вычисляете модуль, вы также можете рассмотреть возможность возврата двойника, чтобы получить более точный результат.

Richard Deeming

"Определено более одной точки входа" означает, что у вас есть более одной точки входа. Main метод в вашем проекте.

Иногда вы также увидите его, если создадите приложение WPF и попытаетесь создать Main метод.

Richard Deeming

И почему вы отправили этот вопрос дважды?
https://www.codeproject.com/Questions/1234543/First-day-messing-with-Csharp-dont-understand-erro[^]

Tryptyk

Были некоторые ошибки при настройке счета/проводке. Я не уверен, как удалить то или другое, ТБХ.

3 Ответов

Рейтинг:
28

#realJSOP

Вам нужен тип возвращаемого значения для каждого метода в C#. Измените свой прототип метода на этот

static void main(string[] args)


CPallini

5.

Рейтинг:
20

CPallini

Джон дал вам решение проблемы компиляции.
Обратите внимание, что у вас также есть логическая ошибка:

Цитата:
int result = (number1 + number2 + number3) % 3;
Это не значит вычислить среднее из трех целых чисел. Вместо этого вы должны написать:
double avg = (number1 + number2 + number3) / 3.0;


Рейтинг:
2

W∴ Balboos, GHB

Это должен быть очень дружеский совет!

Чем скорее вы начнете искать и решать свои собственные ошибки, тем лучше. Тем более сейчас, в самом начале. Это должно стать за пределами привычки - рефлексом.

Это дает возможность помочь вам узнать, что вы делаете быстрее. Как во времена бумажных словарей. Вы можете просто посмотреть на слово, которое вы хотите, но вы также можете посмотреть на слова до и после него, а также - из любопытства.

В вышесказанном вам действительно нужно узнать больше о "типах возврата", поскольку они абсолютно смертельно важны во всех типизированных компьютерных языках.

Действительно - попадите в поиск и тогда смотрите дальше Для компьютерного программирования и всего остального. Это часть пути из жизни посредственности, которая следует за выполнением только самого минимума.


Tryptyk

Вы, конечно, правы, и я ценю ваш совет. Моя главная проблема на данный момент-это фундаментальное непонимание как того, что означают конкретные ошибки, так и того, что означают решения. Для такого рода вещей мне действительно нужно Войти и использовать его, и делать ошибки, прежде чем я пойму, и, к сожалению для меня, это означает много выдергивания волос, как раньше.

Я не особенно люблю просто спрашивать ответы, по причинам, которые вы упомянули; я был разочарован, имея дело с проблемой, которую я не мог понять в данный момент.

W∴ Balboos, GHB

Думай об этом как о нападении на замок. У вас есть мощные союзники, такие как google или даже bing - особенно если у вас есть номер ошибки или вырезать/вставить точное сообщение об ошибке.

Как и само программирование, оно всегда состоит из множества мелких деталей. Даже неудачи часто оказываются полезными.

Это, как говорится, зависит от того, где лежат ваши сильные стороны. Вы найдете много программистов на этом сайте более знающих, чем я. Мои сильные стороны заключаются в (очень быстром) решении проблем (и умных ответах). Никакого разделения знаний. Ваши активы, скорее всего, будут другими. Ваш вклад в бесчисленные гештальты.