() объявляется возвращаемый тип int вместо типа void.
Как правило, значение, возвращаемое методом Main (), указывает на нормальное завершение программы или на аварийное ее завершение из-за сложившихся ненормальных условий выполнения. Условно нулевое возвращаемое значение обычно указывает на нормальное завершение программы, а все остальные значения обозначают тип возникшей ошибки.
Передача аргументов методу Main ()
Многие программы принимают так называемые
static void Main(string[ ] args) static int Main(string[ ] args)
В первой форме метод Main () возвращает значение типа void, а во второй — целое значение, как пояснялось выше. Но в обеих формах аргументы командной строки сохраняются в виде символьных строк в массиве типа string, который передается методу Main (). Длина этого массива (args) должна быть равна числу аргументов командной строки, которое может быть и нулевым.
В качестве примера ниже приведена программа, выводящая все аргументы командной строки, вместе с которыми она вызывается.
// Вывести все аргументы командной строки.
using System;
class CLDemo {
static void Main(string[] args) {
Console.WriteLine('Командная строка содержит ' + args.Length +
' аргумента.');
Console.WriteLine('Вот они: ');
for(int i=0; i < args.Length; i++)
Console.WriteLine(args[i]);
}
}
Если программа CLDemo запускается из командной строки следующим образом: CLDemo один два три
то ее выполнение дает такой результат.
Командная строка содержит 3 аргумента.
Вот они: один два три
Для того чтобы стало понятнее, каким образом используются аргументы командной строки, рассмотрим еще один пример программы, в которой применяется простой подстановочный шифр для шифровки или расшифровки сообщений. Шифруемое или расшифровываемое сообщение указывается в командной строке. Применяемый шифр действует довольно просто. Для шифровки слова значение каждой его буквы инкрементируется на 1. Следовательно, Буква
// Зашифровать и расшифровать сообщение, используя // простой подстановочный шифр.
using System;
class Cipher {
static int Main(string[] args) {
// Проверить наличие аргументов, if(args.Length < 2) {
Console.WriteLine('ПРИМЕНЕНИЕ: ' +
'слово1: <зашифровать>/<расшифровать> ' +
'[слово2... словоЫ]'); return 1; // возвратить код неудачного завершения программы
}
// Если аргументы присутствуют, то первым аргументом должно быть // слово <зашифровать> или же слово <расшифровать>. if(args[0] != 'зашифровать' & args[0] != 'расшифровать') {
Console.WriteLine('Первым аргументом должно быть слово ' + '<зашифровать> или <расшифровать>.'); return 1; // возвратить код неудачного завершения программы
}
}
Console.Write(' ');
