ввод и вывод float аргументов через Main

249
15 августа 2017, 12:11

Столкнулся с интересным и не совсем понятным поведением компилятора.

Вот фрагмент кода:

static float Main(float[] args)
    {
        if (args.Length == 0)
        {
            Console.WriteLine("Неверное количество аргументов");
            return 0f;
        }
        else
        {
            float _catA, _catB, _hypoC;
            try
            {
                DefinitionOfParties(args, out _catA, out _catB, out _hypoC);
                if (IsValidTriangle(_catA, _catB, _hypoC))
                {
                    return AreaCalculation(_catA, _catB);
                }
                return 0f;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return 0f;
            }
        }
    }

Через окно дебага пытаюсь добавить три числа, но получаю ошибку при запуске:

program does not contain a static 'Main' method suitable for an entry point

Непонятно чего от меня хочет VS? Ругается на отсутствие точки входа, которая есть?

Answer 1

Потомучто CLR не может найти точку входа. При выполнении программы, написанной на C#, CLR ищет статический метод Main (но библиотеки и службы не требуют использования метода Main в качестве точки входа), помеченный IL(Intermediate Language) директивой .entrypoint, который принимает либо никаких аргументов, либо один аргумент типа string[], и имеет тип возврата void или int. Таким образом, подходят такие сигнатуры:

static void Main();
static void Main(string[] args);
static int Main();
static int Main(string[] args); 
READ ALSO
c# vlc activex добавить в сборку

c# vlc activex добавить в сборку

Добавил Vlc ActiveX в проект, как com элементБиблиотеки подцепились работают, при установки проекта поставил добавлять dll, которые относятся к этому...

167
Заполнение DataGridView через DataTable. При применении фильтрации или сортировки сбрасываются настройки строк DataGridView

Заполнение DataGridView через DataTable. При применении фильтрации или сортировки сбрасываются настройки строк DataGridView

Для применения фильтрации на самом контролле (не в модели данных) использую DataTable для создания таблицы и DataView

472
Можно ли залить уже готовый проект на .NET Fiddle? [требует правки]

Можно ли залить уже готовый проект на .NET Fiddle? [требует правки]

Как залить свою программу наNET Fiddle ? Или там можно только что-то писать онлайн?

147
How to add page into new document itextsharp c#? [требует правки]

How to add page into new document itextsharp c#? [требует правки]

I create new PDF documentHow add new page into itextsharp document? I use this and get an error: Unbalanced begin/end text operators

280