Метод, якому передається управління після запуску програми, повинен мати ім'я Main і бути статичним. Він може приймати параметри із зовнішнього оточення і повертати значення в середовище, що викликало. Передбачається два варіанти методу - з параметрами і без параметрів:
// без параметрів:
static тип Main() { ... }
static void Main() { ... }
// з параметрами:
static тип Main ( string[] args ){/*...*/}
static void Main( string[] args ){/*...*/}
Параметри, що розділяються пропусками, задаються при запуску програми з командного рядка після імені виконуваного файлу програми. Вони передаються в масив args.
Якщо метод повертає значення, воно має бути цілого типу, якщо не повертає, він повинен описуватися як void. В цьому випадку оператор повернення з Main можна не вказувати, а середовище, що викликало, автоматично набуде нульового значення, що означає успішне завершення. Ненульове значення зазвичай означає аварійне завершення, наприклад:
static int Main( string[] args )
{
if (... /* все пропало */ ) return 1;
if (.../* абсолютно все пропало */) return 100;
}
Повертаєме значення аналізується в командному файлі, з якого запускається програма. Зазвичай це робиться для того, щоб можна було прийняти рішення, чи виконувати командний файл далі. У лістингу 7.2 наводиться приклад методу Main, який виводить свої аргументи і чекає натиснення будь-якої клавіші.
Лістинг 7.2. Параметри методу Main
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
foreach (string arg in args) Console.WriteLine(arg);
Console.Read();
}
}
}
Нехай виконуваний файл програми має ім'я Consoleapplication1.exe і викликається з командного рядка:
d:\cs\consoleapplicationl\bin\debug\consoleapplicationl.exe one two three
Тоді на екран буде виведено:
one
two
three
Для запуску програми з командного рядка можна скористатися командою Выполнить меню Пуск