Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический_курс.doc
Скачиваний:
36
Добавлен:
10.11.2019
Размер:
7.68 Mб
Скачать

3.2. Пример простейшей программы «Hello, World!» Пример простейшей программы «Hello, world!»

1. «Hello, world!» на c#

Что такое () «Hello, world!»?

«Hello, world!» — программа, результатом работы которой является вывод на экран или иное устройство фразы «Hello, world!» (в дословном переводе с английского — «Здравствуй, мир!»; представляет собой распространённое неформальное приветствие, близкое к русскому «Всем привет!»). Также используются вариации с другой пунктуацией или регистром — например, «Hello World». Обычно это первый пример программы в учебниках по программированию, и для многих студентов такая программа является первым опытом при изучении нового языка, в данном случае C#.

Ниже представлен код классической программы «Hello, world!» на C# для консольного приложения:

using System;

namespace LC_Console

{

class Program

{

static void Main()

{

Console.WriteLine("Hello, world!"); // Вывод заданного текста в консоль

Console.ReadKey(); // Ожидание нажатия клавиши пользователем

}

}

}

И код этой же программы для приложения Windows Forms:

using System;

using System.Windows.Forms;

namespace LC_WindowsForms

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e) // Элементы label и button добавлены предварительно

{

label1.Text = "Hello, world!"; // Выводит текст в label1 по нажатию кнопки button1

}

}

}

Рассмотрим важные составляющие этих программ.

2. Комментарии

Некоторые строки содержат комментарий. Символы «//» преобразуют остальную часть строки в комментарий, которые отбрасывается при компиляции приложения. Комментарии нужны только при просмотре проекта (файлов с кодом) приложения в среде разработки.

Комментарии выглядят так:

// Комментарий для одной строки

/* Это тоже комментарий,

* "вырезающий" область */

Можно также сделать комментарием блок текста, окружив его символами «/*» и «*/». Допустимо и такое:

// /* Комментарий

// /* Комментарий */

// Комментарий */

/* //Комментарий */

Символы комментария, включенные в строковый литерал, конечно же, трактуются как обычные символы:

string s = "/* Это просто нормальная строка */";

3. Комментарии к xml-документация

В дополнение к комментариям в стиле С, проиллюстрированным в предыдущем выше, в С# имеется очень искусное средство, на которое стоит обратить особое внимание: способность генерировать документацию в формате XML на основе специальных комментариев. Это однострочные комментарии, начинающиеся с трех слешей «///» вместо двух. В таких комментариях можно размещать XML-дескрипторы, содержащие документацию по типам и членам типов, используемым в коде:

XML-дескрипторы, распознаваемые компилятором, перечислены в следующей таблице:

Дескриптор

Описание

<c>

Помечает текст в строке как код

<code>

Помечает множество строк как код

<example>

Помечает пример кода

<exception>

Документирует класс исключения (синтаксис проверяется компилятором)

<include>

Включает комментарии из другого файла документации (синтаксис проверяется компилятором)

<list>

Вставляет список в документацию

<param>

Помечает параметр метода (синтаксис проверяется компилятором)

<paramref>

Указывает, что слово является параметром метода (синтаксис проверяется компилятором)

<permission>

Документирует доступ к члену (синтаксис проверяется компилятором)

<remarks>

Добавляет описание члена

<returns>

Документирует возвращаемое методом значение

<see>

Представляет перекрестную ссылку на другой параметр (синтаксис проверяется компилятором)

<seealso>

Представляет раздел «see also» («смотреть также») в описании (синтаксис проверяется компилятором)

<summary>

Представляет краткий итог о типе или члене

<value>

Описывает свойство

Как это работает? Пример:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace LC_Console

{

/// <summary>

/// Класс Program.

/// Основной класс программы,

/// выводящий текст "Hello, world!"

/// </summary>

class Program

{

/// <summary>

/// Класс First.

/// Дополнительный класс программы,

/// выводящий текст метода Second()

/// </summary>

class First

{

/// <summary>

/// Метод Second() является

/// входной точкой работы программы

/// </summary>

/// <param name="s">Аргумент метода Second()</param>

public void Second(string s)

{

Console.WriteLine(s);

}

public First() { }

}

/// <summary>

/// Метод Main() является

/// входной точкой работы программы

/// </summary>

/// <param name="args">Аргумент метода Main()</param>

static void Main(string[] args)

{

First F = new First();

// Форматируем шапку программы

Console.BackgroundColor = ConsoleColor.Green;

ConsoleColor Color = Console.ForegroundColor;

Console.ForegroundColor = ConsoleColor.Black;

Console.WriteLine("*******************************");

Console.WriteLine("**** Консольное приложение ****");

Console.WriteLine("*******************************\n");

// Основная программа

Console.BackgroundColor = ConsoleColor.Black;

Console.ForegroundColor = Color;

Console.WriteLine("Hello, world!"); // Вывод заданного текста в консоль

string s = "\nВторой метод";

F.Second(s);

Console.ReadKey(); // Ожидание нажатия клавиши пользователем

}

}

}

Теперь, при работе с чем-либо, что имеет XML-тэги, подсказки в этих самых тэгах будут отображаться при наведении мыши на этот объект (или при написании кода с этим объектом):

Рис. 3. 1. Отображение подсказки при применении метода Second

Компилятор С# может извлекать XML-элементы из специальных комментариев и использовать их для генерации файлов XML. Чтобы заставить компилятор сгенерировать XML-документацию для сборки, указывается опция /doc вместе с именем файла, который должен быть создан (Командная строка Visual Studio (2010), команда для компилятора csc.exe):

csc /t:library /doc:LC_Console.xml Program.cs

Данная команда сгенерирует файл XML по имени LC_Console.xml со следующим содержимым:

Рис. 3. 2. Содержимое XML-файла LC_Console.xml

Того же (вывода в файл) можно добиться пометив галочкой соответствующий вариант в (XML-файл документации) на вкладке «Построение» окна редактора свойств проекта в Visual Studio 2010.