- Объяснять, что такое C# и .NET и где они применяются
- Выводить на экран текст и результаты вычислений с помощью
Console.WriteLine - Запускать программу командой
dotnet run, писать комментарии и читать ошибки компилятора
Игры на Unity, сайты интернет-магазинов, настольные программы для Windows, серверы в облаке — всё это можно написать на одном языке: C# (читается «си шарп»). В этом уроке ты узнаешь, что такое C#, познакомишься с платформой .NET, на которой он работает, и напишешь свою первую программу.
C# и .NET
C# — современный объектно-ориентированный язык программирования, созданный компанией Microsoft. Его разработала команда под руководством Андерса Хейлсберга, первая версия вышла в 2002 году. C# — язык со статической типизацией: тип каждого значения известен заранее, поэтому многие ошибки находит компилятор ещё до запуска программы.
Бесплатная платформа Microsoft с открытым исходным кодом для создания и запуска программ на C#. Работает в Windows, macOS и Linux и включает огромный набор готовых библиотек.
Компьютер не понимает твой код напрямую. Сначала компилятор C# переводит его в промежуточный язык (IL), а при запуске программы среда выполнения .NET (CLR) превращает этот код в машинный код для процессора. Поэтому одна и та же программа может работать в разных операционных системах.
Где применяется C#?
- Веб — сайты, веб-API и онлайн-сервисы на ASP.NET Core.
- Игры — скрипты в игровом движке Unity пишутся на C#, а на Unity создано очень много мобильных и компьютерных игр.
- Настольные приложения — программы для Windows на WPF и Windows Forms, а с .NET MAUI ещё и мобильные приложения.
- Облако — сервисы, работающие на облачных платформах, например Microsoft Azure.
- Консольные программы — небольшие текстовые утилиты. Именно их мы будем писать в этом курсе.
Первая программа
По традиции программистов первая программа на новом языке выводит на экран «Hello, world!» («Привет, мир!»). В современном C# для этого хватит одной строки:
Console.WriteLine("Hello, world!");Hello, world!
Console— готовый класс для работы с консолью (текстовым окном).WriteLine— его метод: он выводит значение в скобках и переходит на новую строку. Точка связывает класс и метод."Hello, world!"— текст в двойных кавычках, то есть строка (string).;— точка с запятой: в C# ею заканчивается каждая команда.
Такая запись называется операторами верхнего уровня (top-level statements) и существует с C# 9 (2020 год). В старом коде и книгах ты увидишь ту же программу в более длинной форме — с классом Program и методом Main, с которого начинается выполнение. Короткий вариант компилятор за кулисами превращает именно в такой код.
namespace HelloApp;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}Hello, world!
Main.Как запустить программу?
- 1Установи .NET SDK
Скачай бесплатный .NET SDK с официального сайта Microsoft. Для написания кода подойдут Visual Studio, Visual Studio Code с расширением C# Dev Kit или JetBrains Rider.
- 2Создай проект
В терминале набери
dotnet new console -o HelloApp. В папкеHelloAppпоявится файлProgram.cs. - 3Запусти
Перейди в папку командой
cd HelloAppи набериdotnet run. Программа скомпилируется, и на экране появитсяHello, World!. - 4Или всего один файл
Начиная с .NET 10 можно обойтись без проекта: запиши код в файл
app.csи выполниdotnet run app.cs.
dotnet new console -o HelloApp
cd HelloApp
dotnet runТекст и вычисления
Console.Write выводит текст, не переходя на новую строку, а Console.WriteLine после вывода переводит курсор на следующую строку. Строки можно соединять знаком +. Программа выполняет команды сверху вниз, по очереди.
Console.Write("Salam, ");
Console.Write("Aysel!");
Console.WriteLine();
Console.WriteLine("I live in Baku.");
Console.WriteLine("I am " + 12 + " years old.");Salam, Aysel! I live in Baku. I am 12 years old.
C# — ещё и хороший калькулятор. Обрати внимание: "2 + 3" в кавычках — просто текст, а 2 + 3 без кавычек вычисляется. При делении двух целых чисел через / результат тоже целый — дробная часть просто отбрасывается. Остаток даёт оператор %.
Console.WriteLine(2 + 3);
Console.WriteLine("2 + 3");
Console.WriteLine(7 * 8);
Console.WriteLine(17 / 5);
Console.WriteLine(17 % 5);
Console.WriteLine("Total: " + (45 + 30));5 2 + 3 56 3 2 Total: 75
Комментарии и ошибки
Комментарии компилятор пропускает: они написаны для людей, которые читают код. // превращает в комментарий всё до конца строки, а /* ... */ может охватывать несколько строк.
// This program greets the learner
Console.WriteLine("Welcome to Educora!"); // greeting
/* A comment on
several lines */
// Console.WriteLine("This line is switched off");
Console.WriteLine("C# is fun!");Welcome to Educora! C# is fun!
Найдя ошибку, компилятор не запускает программу и показывает сообщение с кодом ошибки, например CS1002. В сообщении указаны номер строки и столбца, поэтому ошибку легко найти.
| Код | Ошибка | Причина |
|---|---|---|
Console.WriteLine("Hi") | CS1002: ; expected | В конце строки забыта точка с запятой. |
console.WriteLine("Hi"); | CS0103 | C# различает регистр: Console пишется с заглавной буквы. |
Console.WriteLine('Hi'); | CS1012 | Одинарные кавычки — только для одного символа (char), текст пишется в двойных. |
Console.WriteLine("Hi); | CS1010 | Забыта закрывающая кавычка. |
Главное
- C# — статически типизированный объектно-ориентированный язык от Microsoft; программы работают на платформе .NET.
- На C# пишут сайты (ASP.NET Core), игры (Unity), настольные и облачные программы.
Console.WriteLineвыводит текст и переходит на новую строку, аConsole.Write— нет.- Каждая команда заканчивается
;, а C# различает регистр букв. - Деление двух целых чисел даёт целое:
17 / 5равно3, а остаток17 % 5равен2.
Проверь себя
Вопросов: 10. Каждый правильный ответ приносит XP.