Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 38

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 320 >> Следующая

// Обычно для файлов кладаж расширение *.cs
using System:
class НеїloClass {
II Как ни удивительно, функция MaInO может быть объявлена как private, // если, конечно, вам это нужно... public static int Main (string[] args) (
Console,Writeline ("Hello, World"):
76 Глава 2 • Основы языка С# return
}
)
Мы создали класс HeI 1 oCl ass, который поддерживает единственный метод - MainO. В любом приложении СIU должен быть определен класс с методом MainO. Этот метод будет использован как точка входа вашего приложения — то есть работа приложения начнется с выполнения этого метода. В принципе, возможно создать несколько классов с методами MainO, однако в этом случае придется явно указать, какой из этих методов будет использован в качестве точки входа. Если вы пропустите такое указание, результатом станет сообщение компилятора об ошибке.
Обратите внимание на то, что первая буква в названии метода Mai п () — заглавная. Такое написание обязательно.
В нашем случае метод MainO был определен как риЫ і с и как static. Подробнее об этих ключевых словах будет рассказано дальше в этой главе. Пока достаточно будет сказать, что ключевое слово pub" Ic в определении метода означает, что этот метод будет доступен извне, а ключевое слово static говорит о том, что этот метод позиционируется на уровне класса, а не отдельного объекта и будет доступен даже тогда, когда еще не создано ни одного экземпляра объекта данного класса.
Кроме того, наш метод MainO принимает единственный параметр, который должен быть набором символов (string[] args). Хотя этот параметр в нашей программе нигде не встречается, его можно использовать для приема параметров командной строки при запуске приложения.
Вся программная логика HelioCl ass заключена в самом методе MainO. Этот метод обращается к классу Consul е, определенному внутри пространства имен System. Один из членов метода Console - статический метод WriteLine(), который можно использовать для вывода строки на системную консоль;
// Выводим строку на системную консоль Console.WriteLine("Hellо. Wor1d"):
Поскольку метод MainO был определен нами как int, то он должен вернуть целочисленное значение (в нашем случае 0 — стандартный код успешного завершения программы), Последнее, что мы должны сказать, завершая рассмотрение нашей программы, — что в С# поддерживаются комментарии в стиле С и C++.
Как еще можно объявить метод Main()
В нашем примере метод MainO был объявлен как возвращающий целочисленное значение (int) и принимающий единственный параметр в виде массива символов. Однако метод Main О можно объявлять и по-другому. Вот несколько вариантов допустимых сигнатур метода MainO (помните, что все они должны находиться только внутри определения класса):
// Без возвращаемого значения, принимаемый параметр - массив символов
public static void Main (stringo args)
')
Il Обрабагывем параметры командой строки // Создаем объекты
.
II Без возвращаемого значения, пуиивиаеиы/. паранегров нет
Анатомия класса С# 77
public static \ъ'Л ча-ігї) {
II Создаем объекты
>
// Возвращается целочисленное значение, принимаемых параметров нет
public static irrt MaInO
I
Il Создаем объекты
Ц Возвращаем целочисленное значение операционной системе
}
Какой же вариант объявления MainO следует выбирать? Все зависит от ответов на два вопроса. Первый вопрос: должна ли ваша программа принимать какие-либо параметры командной строки? Если да, то придется объявлять MainO с принимаемым параметром в виде массива символов. И второй вопрос: должно ли значение возвращаться операционной системе при завершении работы программы (то есть по завершении метода MainO)? Если ответ положительный, то метод MainC) должен быть объявлен как int.
Обработка параметров командной строки
Предположим, что вы хотите изменить класс HelloCldss таким образом, чтобы он не игнорировал параметры командной строки, а обрабатывал их. После внесения необходимых изменений H ell о Cl ass может выглядеть так (подробнее о конструкции {0} мы расскажем чуть позже):
using System;
class HelloClass {
public static int Main (string[] args)
{
Il Выводим параметры на консоль! for<int x=Q; X < args.Length: x++-{
Console.WriteLineC'Arg: {0}", args[x]);
}
Console.WriteLine("Hello, World!"); return 0;
]
)
В нашей программе производится проверка, были ли вообще переданы какие либо значения в качестве параметров командной строки. Такая проверка производится с помощью свойства Length объекта System.Array (как мы потом убедимся, в С# все массивы - это лишь псевдонимы для объекта System. Array, ir они обладают такими же наборами членов). Если в массиве есть по крайней мере один член (параметр командной строки), запускается цикл, в ходе которого на консоль выводятся все параметры командной строки с первого до последнего.
Результат выполнения нашей программы может выглядеть так, как показано на рис. 2.1.
78 Глава 2 • Основы языка С#
Command Prompt ига із
D:\Tetnp>he Но the 1-е .ехв и -foo -bar 1ВИЙ -goclmode ?
ftl'g: -Fou I
nrtrg: Ьііг I
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100