This article has been localized into Russian by the community.
Разбор "Hello World"
В предыдущей главе мы пытались вывести текст в консоль в нашем первом приложении на C#. Чтобы чувство продвижения сохранилось мы не вдавались в детали относительно написанного кода, так что в этой главе мы все и объясним. Как вы наверное заметили, в коде некоторые строчки выглядят одинаково, поэтому мы их сгруппируем и рассмотрим в индивидуальном порядке. Давайте начнем с самых коротких и частых символов в нашем коде: { и }. Их также часто называют фигурными скобками, и в C# они обозначают начало и конец логических блоков в коде. Фигурные скобки используются во многих других языках, в том числе и C++, Java, JavaScript и многих других. Как вы могли заметить, в коде они использовались чтобы обернуть связанные друг с другом строчки кода. В последующих примерах принцип их применения станет яснее.
А теперь начнем с начала:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using - это ключевое слово, подсвеченное редактором синим цветом. Ключевое слово using подключает пространство имен, а пространство имен в свою очередь - это собрание классов. Классы дают нам определенные возможности, а когда мы работаем в продвинутой ИСР, вроде Visual Studio, то такие типичные части кода создаются за нас. В нашем случае ИСР создала класс и подключила пространства имен, которые необходимы или, весьма вероятно, еще пригодятся в будущем. В нашем случае ИСР подключила 5 пространств имен, в каждом из которых содержится очень много полезных классов. Например мы использовали класс Console, который является частью пространства имен System.
Однако мы пока еще не используем, например, пространство имен System.Linq, так что если вы борец за чистоту, то можете предпочесть удалить эту строчку, однако в данный момент это ничего не изменит.
Как вы могли заметить, мы даже создали свое собственное пространство имен:
namespace ConsoleApp1
Теперь пространство имен ConsoleApp1 является стандартным для нашего приложения и новые классы будут входить в него по умолчанию. Конечно, это можно изменить и создавать классы в другом пространстве имен. В таком случае вам придется подключить его к вашему приложению, используя, как и в случае с остальными пространствами имен, директиву using.
Далее, мы создаем наш класс. Так как C# - истинно Объектно-Ориентированный язык, каждая строчка кода, которая хоть что-нибудь делает, обернута в класс. В нашем случае класс называется просто Program.
class Program
У нас может быть больше классов, даже в одном файле. Однако пока нам нужен только один. Класс может содержать переменные, свойства и методы, сущность которых мы разберем в деталях позже. Сейчас вам достаточно знать, что наш класс содержит только один метод и ничего больше. Этот метод объявляется вот так:
static void Main(string[] args)
Наверное эта строчка - самая сложная в нашем примере, так что давайте разобьем ее на части. Самое первое слово - static. Ключевое слово static говорит нам о том, что этот метод может использоваться без создания экземпляра класса, но об этом мы поговорим в главе про классы.
Следующее ключевое слово - void - говорит нам о том, что этот метод возвращает. Тут могло бы быть и целое число или строка текста, но в нашем случае мы не хотим, чтобы метод что-либо возвращал (C# использует ключевое слово void, чтобы обозначить ничто)
Следующее слово - Main - просто обозначает имя нашего метода. Метод Main - это так называемая точка входа нашего приложения, а это значит, что код, который будет выполняться первым, находится здесь. В нашем случае этот код - единственный на все приложение.
После имени метода, внутри круглых скобок можно указать набор аргументов. В нашем случае методу требуется только один аргумент, который называется args. Тип аргумента - string, или, если быть совсем точным, массив элементов типа string, но об этом поговорим позже. Если подумать, то логика в этом есть, ибо приложения на Windows при желании можно запустить с набором параметров. Эти параметры будут переданы как строки текста в метод Main.
На этом все. Теперь у вас должно быть понимание принципов работы нашего первого приложения на C#, а так же и понимание того, как работают консольные приложения в целом.