Здравствуй, C#!

Категория: Уроки Автор: Дмитрий Ляпин Опубликовано: 26-02-2011

Метки: , ,

На прошлом уроке мы подготовили рабочее место, установив и опробовав среду разработки. В качестве примера мы написали простейшее приложение, выводящее текст на экран. Сегодня давайте разберем каждую его строчку.

Я немного упростил исходный код, убрав все лишнее:

1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Привет от Net Framework!");
            Console.ReadKey();
        }
    }
}

Задача программы – вывести на экран сообщение: «Привет от Net Framework!». В ее коде 12 строк (не считая пустую), хотя проблему решает всего одна:

9
Console.WriteLine("Привет от Net Framework!");

Перед тем, как мы начнем детально разбирать текст программы, хочу донести важно сообщение:

Язык C# полностью объектно-ориентирован, в нем не бывает простых функций, любой код содержится внутри некого класса. Даже если вы пока не знаете, что такое классы и объекты – это не беда. Просто запомните, что любая программа C# целиком и полностью состоит из классов.

Наше подопытное приложение – консольное, выглядит результат так:

Для работы с консолью в .Net Framework служит специальный класс – Console. Один из его методов предназначен для вывода строки на экран – WriteLine.

Программа работает линейно и завершает свое выполнение после того, как все инструкции выполнены. Так что, если мы не предпримем специальных усилий, приложение сразу же завершит свою работу после вывода текста на экран. Мы даже не успеем ничего разглядеть.

Имеено по этой причине в программу добавлен вызов метода ReadKey у класса консоли. В результате такого вызова приложение приостановит работу, пока пользователь не нажмет какую-либо клавишу.

10
Console.ReadKey();

Этих двух строк достаточно для выполнения задачи, но мы не можем «повесить их в воздух». Программа должна быть правильно оформлена.

Поскольку в языке C# все состоит из классов, то не может быть исключением и наша программа. Мы объявили класс Program, в котором реализовали метод Main. Эти названия мы не придумали, они должны быть именно такими, чтобы среда поняла, где точка входа, то есть откуда следует начинать выполение программы.

5
6
7
8
class Program
{
	static void Main(string[] args)
	{

Классы в C# группируются в пространства имен (namespaces). Это можно сравнить с файлами и папками. Если мы свалим все файлы в одно место, то ни за что не сможем разобраться в этом беспорядке. Также будет невозможным иметь два файла с одним именем. Эти же проблемы решают пространсва имен, они служат для упорядочивания классов и избежания конфликтов имен.

Класс нашей программы находится в пространстве имен ConsoleApplication1, его, конечно, можно переименовать.

3
4
5
6
namespace ConsoleApplication1
{
    class Program
    {

Класс Console находится в пространсве имен System. Мы могли бы обращаться к нему так:

System.Console.WriteLine("Привет от Net Framework!");

А можно в начале файла указать использование пространства имен и обращаться к его классам проще. Для этого в C# существует директива using:

1
using System;

Таким образом, наша программа состоит из 12 строк, лишь 2 из которых являются полезными. КПД получается 17%. Конечно, это грубая оценка, и ее стоит воспринимать скорее как юмор.

C# действительно не самый лаконичный язык, однако он очень приятный и мощный, с чем вам еще предстоит познакомиться ближе!

Комментарии:

Оставить комментарий!