https://gbcdn.mrgcdn.ru/uploads/post/2321/og_image/a9e54f9e3bfc6606821429d50bd15597.png
IDE
Что же нам нужно для создания первого приложения? Во-первых, нужен текстовый редактор, в котором мы будем писать исходный код. Во-вторых, нам понадобится компилятор, который преобразует исходный код в исполняемый файл (например, .exe-файл в операционной системе Windows). В-третьих, нужен фреймворк .NET, который необходим для компиляции и запуска приложения — о фреймворке .NET мы говорили в предыдущей статье.
Все элементы, необходимые для создания первого приложения, объединены в специальной программе IDE (англ. Integrated Development Environment), а именно:
- Кодовый редактор
- Транслятор (компилятор и/или интерпретатор)
- Средства автоматизированной сборки
- Отладчик
Также IDE может включать в себя средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. И это ещё не всё. Как правило, каждая IDE предназначена для нескольких языков программирования. Для разработки на языке C# можно выделить следующие среды разработки:
- Visual Studio. Разработана компанией Microsoft (так же, как и язык C#), поэтому является основной для создания приложений на C#.
- Project Rider. Это кроссплатформенная интегрированная среда разработки программного обеспечения для платформы .NET, разрабатываемая компанией JetBrains.
- Sharp Developer. Свободная среда разработки для языка C#, альтернатива Visual Studio .NET.
- Eclipse. Данная IDE предназначена в основном для разработки Java-приложений, но и на C# также можно создавать приложения.
- Visual Studio Code. Редактор исходного кода, разработанный Microsoft для Windows, Linux и macOS. Позиционируется как «лёгкий» редактор кода для кроссплатформенной разработки веб- и облачных приложений.
Создавать первое приложение на C# мы будем в интегрированной среде разработки Visual Studio. На официальном сайте доступны три версии продукта:
- Community – полнофункциональная, расширяемая и бесплатная версия интегрированной среды разработки для создания современных приложений Android, iOS и Windows, а также веб-приложений и облачных служб.
- Professional – платная версия, содержащая профессиональные инструменты и службы для индивидуальных разработчиков или небольших команд.
- Enterprise – платная версия, представляющая интегрированное комплексное решение для команд любого размера с высокими требованиями к качеству и масштабу.
Для создания приложений на C# будем использовать бесплатную и полнофункциональную среду разработки — Visual Studio Community 2019.
Установка Visual Studio
После загрузки необходимо запустить установщик. В открывшемся окне нам предложат выбрать те компоненты, которые мы хотим установить вместе с Visual Studio. Стоит отметить, что Visual Studio — очень функциональная среда разработки и позволяет разрабатывать приложения с помощью множества языков и платформ.
В нашем случае интересен прежде всего C# и .NET Core, поэтому в наборе рабочих нагрузок можно выбрать только пункт «Кроссплатформенная разработка .NET Core». Можно выбрать и больше опций или вообще все опции, однако стоит учитывать свободный размер на жёстком диске — чем больше опций будет выбрано, тем больше места на диске будет занято.
При инсталляции Visual Studio на ваш компьютер будут установлены все необходимые инструменты для разработки программ, в том числе фреймворк .NET Core. Установка успешна? Начинаем писать программу!
Создание проекта в Visual Studio
Откройте Visual Studio и на стартовом экране выберите пункт «Создание проекта».
На следующем окне в качестве типа проекта нужно выбрать Консольное приложение (.NET Core). Это значит, что мы будем создавать приложение командной строки на языке C#.
В следующем окне зададим название проекта. Пусть будет HelloWorld. На этом этапе также можно указать папку, где будет располагаться проект. После этого нажмите кнопку «Создать».
Visual Studio создаст и откроет проект. Окно будет выглядеть так:
В нашем редакторе в центре находится сгенерированный по умолчанию код C#. Впоследствии мы изменим его на свой. Слева находится обозреватель решений, в котором можно увидеть структуру нашего проекта. В данном случае в обозревателе сгенерирована структура по умолчанию. В узле «Зависимости» содержатся сборки, которые добавлены в проект по умолчанию — классы библиотеки .NET, которые будет использовать C#. Однако не всегда все сборки нужны. Лишнее содержимое отсюда потом можно удалить. Или, наоборот, добавить какую-нибудь нужную библиотеку — именно в этом узле она будет размещена.
Hello world
Под узлом «Зависимости» расположен непосредственно сам файл кода программы — Program.cs. Как раз он и открыт в центральном окне. Вначале разберёмся, что весь этот код собой представляет:
using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
В начале файла мы видим директиву using, после которой идёт название подключаемого пространства имён. Пространства имён необходимы для организации классов в общие блоки. Например, в первой строке подключается пространство имён System, которое содержит фундаментальные и базовые классы платформы .NET.
C# имеет C-подобный синтаксис, и каждая строка завершается точкой с запятой, а каждый блок кода помещается в фигурные скобки. Далее начинается уже наше пространство имён HelloWorld, которое будет создавать отдельную сборку или исполняемую программу. Сначала идёт ключевое слово namespace, после которого следует название пространства имён. По умолчанию Visual Studio даёт ему название проекта. Далее внутри фигурных скобок идёт блок пространства имён.
Пространство имён может включать другие пространства или классы. В нашем случае по умолчанию сгенерирован один класс — Program. Классы объявляются похожим способом: сначала идёт ключевое слово class, а потом название класса, и далее блок самого класса в фигурных скобках.
Класс может содержать различные переменные, методы, свойства, прочие инструкции. В данном случае объявлен один метод Main. В программе на C# метод Main является входной точкой программы, с него начинается всё управление. Это обязательный элемент любой программы.
Слово static указывает, что метод Main статический, а слово void — что он не возвращает никакого значения. Далее в скобках у нас идут параметры метода. string[] args — это массив с именем args, который хранит значения типа string, то есть строки. В данном случае они нам пока не нужны, но в реальной программе это те параметры, которые передаются при запуске программы из консоли.
Внутри метода располагаются действия, которые этот метод выполняет. По умолчанию он содержит одно действие: Console.WriteLine(«Hello World!»); — выводит в консоль строку «Hello World!».
Теперь мы можем запустить программу на выполнение с помощью клавиши F5 или с панели инструментов, нажав на зелёную стрелку. И если вы все сделали правильно, то при запуске приложения увидите заветную строку.
Интерактивное приложение на C#
Теперь сделаем всё поинтересней — изменим код на следующий:
using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.Write("Введите свое имя: "); string name = Console.ReadLine(); Console.WriteLine($"Привет {name}"); } } }
По сравнению с автоматически сгенерированным кодом были внесены несколько изменений. Теперь в методе Main первой строкой выводится приглашение к вводу.
Класс Console, метод которого мы вызываем, находится в пространстве имён System. Это пространство подключено в начале с помощью директивы using. Без подключения пространства имён System невозможно было бы использовать класс Console.
Однако нам необязательно подключать пространство имён. Мы можем даже удалить первую строку, но в этом случае мы тогда должны будем указать полный путь до используемого класса:
System.Console.Write("Введите свое имя: ");
Во второй строке определяется строковая переменная name (тип string), в которую пользователь вводит информацию с консоли:
string name = Console.ReadLine();
Мы обозначили, что помощью метода ReadLine() можем считать с консоли строку.
Затем введённое имя выводится на консоль:
Console.WriteLine($"Привет {name}");
Чтобы задать вывод значения переменной name в выводимой на консоль строке, применяются фигурные скобки {}. При выводе строки на консоль выражение {name} будет заменяться на значение переменной name — введённое имя.
Знак доллара ($) обозначает, что внутри строки таким образом можно выводить значения переменных. Теперь протестируем проект, запустив его выполнение.
Поздравляю, мы создали первое приложение! Исполняемый файл вы можете найти на жёстком диске в папке проекта в каталоге bin/Debug. Оно будет называться так же, как проект, и иметь расширение .exe. Этот файл можно запускать без Visual Studio, а также переносить для доработки на другие компьютеры, где есть .NET Core.
Загрузить PDF
Загрузить PDF
C# – отличный язык программирования, а все инструменты, необходимые для начала работы с ним бесплатные и просты в использовании. Хотя C# у всех зачастую ассоциируется с Microsoft и закрытым кодом, сторонники бесплатного ПО просто используют DotGNU, который предоставляет более или менее те же самые базовые функции и позволяет изучать и изменять ядро без каких-либо ограничений. Приведенные ниже инструкции описывают как FOSS-ориентированный подход, так и Windows-ориентированный. C# также работает с .NET framework.
-
1
Зайдите сюда для загрузки бесплатной копии Visual C# 2010 Express Edition. В наличии также имеется версия от 2012 года, но лучше скачайте за 2010-й, если ищете С# разработку общего характера.
- Версия 2012 года также не поддерживает Windows 7/8.
-
2
Запустите загруженный исполняемый файл и выполните следующие действия:
- Далее.
- Я согласен → Далее.
- Выберите MSDN, а не SQL → Далее.
- Установить.
Реклама
- Далее.
-
1
Запустите Visual C# 2010 Express Edition.
-
2
Нажмите Файл → Новый → Проект.
-
3
Выберите Visual C# → Windows → Консольное приложение.
-
4
Нажмите «ОК».Вы должны увидеть следующее:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } }
-
5
Под static void Main(string[] args)и после первой фигурной скобкой вбейте следующее:
Console.WriteLine("Hello, World!"); Console.ReadLine();
-
6
Результат должен выглядеть как-то так:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); Console.ReadLine(); } } }
-
7
Нажмите кнопку «Запуск» [►] на панели инструментов.
Поздравляем! Вы только что создали свою первую программу на C#! -
8
Эта программа должна вызвать консольное окно с надписью «Hello World!».
- Если это не так, значит, вы где-то ошиблись.
Реклама
-
1
Вам понадобятся CVS и GNU компиляторы. Они включены в большинстве дистрибутивов Linux.
-
2
Зайдите на сайт проекта DotGNU (http://www.gnu.org/software/dotgnu/), который предоставляет FOSS-реализацию C# . Прочтите главу об установке. Даже новички смогут запросто следовать этим инструкциям.
-
3
Вы можете либо выбрать исходники и построить с нуля собственную среду разработки C# , либо сперва испытать уже скомпилированные дистрибутивы. Проект довольно просто создать из исходников, так что мы советуем сначала попробовать этот путь.
-
4
Попробуйте запустить несколько примеров, которые находятся уже в скомпилированном (.exe) виде. Например, FormsTest.exe покажет большую коллекцию различных элементов управления GUI. Папка pnetlib/samples содержит скрипт ilrun.sh, способный запускать скомпилированные исполняемые файлы таким вот образом: sh ./ilrun.sh forms/FormsTest.exe (из той же папки).
-
5
Под Линуксом вы можете использовать KWrite или gedit для редактирования C# кода. Последние версии обоих редакторов поддерживают подсветку синтаксиса для этого языка.
-
6
Узнайте, как скомпилировать короткий пример, описанный в секции о «Windows». Если на веб-сайте проекта недостаточно документации, поищите в Интернете. Если не помогло, задайте вопрос на сайте проекта.
-
7
Поздравляем, теперь вы знаете о двух типах реализации C# кода и не привязаны к какому-то одному поставщику C#!
Реклама
Советы
- При установке Visual C# 2010/2012 express, он либо загрузится автоматически, либо попросит у вас разрешения.
- Visual C # 2005/2008 Express Editions поставляется с возможностью установки Microsoft MSDN 2005 Express Edition. Это отличная справка, доступ к которой можно получить через «Помощь:Содержание» или, путем выделения ключевого слова и нажатия клавиши «F1». Настоятельно рекомендуется загрузить и установить библиотеку MSDN.
- Есть более удачные реализации C#, чем описанные здесь. Проект Mono может вас заинтересовать.
Реклама
Recommended Books
- ISBN 0-7645-8955-5: Visual C# 2005 Express Edition Starter Kit — Newbie
- ISBN 0-7645-7847-2: Beginning Visual C# 2005 — Novice
- ISBN 0-7645-7534-1: Professional C# 2005 — Intermediate+
Об этой статье
Эту страницу просматривали 17 733 раза.
Была ли эта статья полезной?
title | description | ms.custom | ms.date | ms.technology | ms.prod | ms.topic | ms.devlang | author | ms.author | manager | dev_langs | ms.workload | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tutorial: Create a simple C# console app |
Learn how to create a C# console app in Visual Studio, step-by-step. |
vs-acquisition, get-started |
01/25/2023 |
vs-ide-general |
visual-studio-windows |
tutorial |
CSharp |
anandmeg |
meghaanand |
jmartens |
CSharp |
|
Tutorial: Create a simple C# console app in Visual Studio (part 1 of 2)
[!INCLUDE Visual Studio]
In this tutorial, you use Visual Studio to create and run a C# console app, and explore some features of the Visual Studio integrated development environment (IDE). This tutorial is part 1 of a two-part tutorial series.
In this tutorial, you:
[!div class=»checklist»]
- Create a Visual Studio project.
- Create a C# console app.
- Debug your app.
- Close your app.
- Inspect your complete code.
In part 2, you extend this app to add more projects, learn debugging tricks, and reference third-party packages.
Prerequisites
You must have Visual Studio installed.
If you haven’t already installed Visual Studio, go to the Visual Studio downloads page to install it for free.
Create a project
To start, create a C# application project. The project type comes with all the template files you need.
::: moniker range=»vs-2019″
-
Open Visual Studio, and choose Create a new project in the Start window.
-
In the Create a new project window, choose C# from the Language list. Next, choose Windows from the Platform list and Console from the project types list.
After you apply the language, platform, and project type filters, choose the Console Application template, and then select Next.
[!NOTE]
If you don’t see the Console Application template, select Install more tools and features.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.
After that, choose the Modify button in the Visual Studio Installer. You might be prompted to save your work; if so, do so. Next, choose Continue to install the workload. Then, return to step 2 in this «Create a project» procedure.
-
In the Configure your new project window, type or enter Calculator in the Project name box. Then, choose Next.
:::image type=»content» source=»./media/vs-2019/csharp-name-your-calculator-project.png» alt-text=»Screenshot that shows naming your project ‘Calculator’ in the ‘Configure your new project’ window.»:::
-
In the Additional information window, .NET Core 3.1 should already be selected for your target framework. If not, select .NET Core 3.1. Then, choose Create.
:::image type=»content» source=»./media/vs-2019/csharp-target-framework.png» alt-text=»Screenshot that shows making sure .NET Core 3.1 is selected in the ‘In the ‘Additional information’ window.»:::
Visual Studio opens your new project, which includes default «Hello World» code.
To view it in the editor, select the code file Program.cs in the Solution Explorer window, which is typically on the right-hand side of Visual Studio.The default «Hello World» code calls the xref:System.Console.WriteLine%2A method to display the literal string «Hello, World!» in the console window. If you press F5, you can run the default program in Debug mode. After the application runs in the debugger, the console window stays open. Press any key to close the console window.
::: moniker-end
::: moniker range=»>=vs-2022″
-
Open Visual Studio, and choose Create a new project in the Start window.
-
In the Create a new project window, select All languages, and then choose C# from the dropdown list. Choose Windows from the All platforms list, and choose Console from the All project types list.
After you apply the language, platform, and project type filters, choose the Console App template, and then select Next.
[!NOTE]
If you don’t see the Console App template, select Install more tools and features.In the Visual Studio Installer, choose the .NET desktop development workload, and then select Modify.
-
In the Configure your new project window, type or enter Calculator in the Project name box, and then select Next.
-
In the Additional information window, .NET 6.0 should already be selected for your target framework. Select Create.
Visual Studio opens your new project, which includes default «Hello World» code.
To view it in the editor, select the code file Program.cs in the Solution Explorer window, which is typically on the right-hand side of Visual Studio.
The single code statement calls the xref:System.Console.WriteLine%2A method to display the literal string «Hello, World!» in the console window. If you press F5, you can run the default program in Debug mode. After the application runs in the debugger, the console window stays open. Press any key to close the console window.
[!NOTE]
Starting with .NET 6, new projects using the console template generate different code than previous versions. To learn more, see the New C# templates generate top-level statements page.
::: moniker-end
Create the app
In this section, you:
- Explore some basic integer math in C#.
- Add code to create a basic calculator app.
- Debug the app to find and fix errors.
- Refine the code to make it more efficient.
Explore integer math
Start with some basic integer math in C#.
::: moniker range=»<=vs-2019″
-
In the code editor, delete the default «Hello World» code.
Specifically, delete the line that says,
Console.WriteLine("Hello World!");
. -
In its place, type the following code:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();
Notice that when you do so, the IntelliSense feature in Visual Studio offers you the option to autocomplete the entry.
-
Choose the green Start button next to Calculator to build and run your program, or press F5.
A console window opens that reveals the sum of 42 + 119, which is 161.
-
(Optional) You can change the operator to change the result. For example, you can change the
+
operator in theint c = a + b;
line of code to-
for subtraction,*
for multiplication, or/
for division. Then, when you run the program, the result changes, too. -
Close the console window.
::: moniker-end
::: moniker range=»>=vs-2022″
-
In Solution Explorer, in the right pane, select Program.cs to display the file in the code editor
-
In the code editor, replace the default «Hello World» code that says
Console.WriteLine("Hello World!");
.Replace the line with the following code:
int a = 42; int b = 119; int c = a + b; Console.WriteLine(c); Console.ReadKey();
If you type the code, the Visual Studio IntelliSense feature offers you the option to autocomplete the entry.
-
To build and run your app, press F5, or select the green arrow next to the name Calculator in the top toolbar.
A console window opens that shows the sum of 42 + 119, which is 161.
-
Close the console window.
-
Optionally, you can change the operator to change the result. For example, you can change the
+
operator in theint c = a + b;
line of code to-
for subtraction,*
for multiplication, or/
for division. When you run the app, the result changes accordingly.
::: moniker-end
Add code to create a calculator
Continue by adding a more complex set of calculator code to your project.
::: moniker range=»<=vs-2019″
-
In the code editor, replace all the code in Program.cs with the following new code:
using System; namespace Calculator { class Program { static void Main(string[] args) { // Declare variables and then initialize to zero. int num1 = 0; int num2 = 0; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#r"); Console.WriteLine("------------------------n"); // Ask the user to type the first number. Console.WriteLine("Type a number, and then press Enter"); num1 = Convert.ToInt32(Console.ReadLine()); // Ask the user to type the second number. Console.WriteLine("Type another number, and then press Enter"); num2 = Convert.ToInt32(Console.ReadLine()); // Ask the user to choose an option. Console.WriteLine("Choose an option from the following list:"); Console.WriteLine("ta - Add"); Console.WriteLine("ts - Subtract"); Console.WriteLine("tm - Multiply"); Console.WriteLine("td - Divide"); Console.Write("Your option? "); // Use a switch statement to do the math. switch (Console.ReadLine()) { case "a": Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2)); break; case "s": Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2)); break; case "m": Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2)); break; case "d": Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; } // Wait for the user to respond before closing. Console.Write("Press any key to close the Calculator console app..."); Console.ReadKey(); } } }
-
Select the Calculator button or press F5 to run your app.
A console window opens.
-
In the console window, follow the prompts to add the numbers 42 and 119 together.
Your app should look similar to the following screenshot:
::: moniker-end
::: moniker range=»>=vs-2022″
-
In the code editor, replace all the code in Program.cs with the following new code:
// Declare variables and then initialize to zero. int num1 = 0; int num2 = 0; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#r"); Console.WriteLine("------------------------n"); // Ask the user to type the first number. Console.WriteLine("Type a number, and then press Enter"); num1 = Convert.ToInt32(Console.ReadLine()); // Ask the user to type the second number. Console.WriteLine("Type another number, and then press Enter"); num2 = Convert.ToInt32(Console.ReadLine()); // Ask the user to choose an option. Console.WriteLine("Choose an option from the following list:"); Console.WriteLine("ta - Add"); Console.WriteLine("ts - Subtract"); Console.WriteLine("tm - Multiply"); Console.WriteLine("td - Divide"); Console.Write("Your option? "); // Use a switch statement to do the math. switch (Console.ReadLine()) { case "a": Console.WriteLine($"Your result: {num1} + {num2} = " + (num1 + num2)); break; case "s": Console.WriteLine($"Your result: {num1} - {num2} = " + (num1 - num2)); break; case "m": Console.WriteLine($"Your result: {num1} * {num2} = " + (num1 * num2)); break; case "d": Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; } // Wait for the user to respond before closing. Console.Write("Press any key to close the Calculator console app..."); Console.ReadKey();
-
Select the Calculator button or press F5 to run your app.
A console window opens.
-
In the console window, follow the prompts to add the numbers 42 and 119 together.
Your app should look similar to the following screenshot:
::: moniker-end
Add decimal functionality
Now, tweak the code to add more functionality.
The current calculator app only accepts and returns whole numbers. For example, if you run the app and divide the number 42 by the number 119, your result is zero, which isn’t exact.
To fix the code to improve precision by handling decimals:
-
From Program.cs in the Visual Studio editor, press Ctrl+H to open the Find and Replace control.
-
Type int in the control, and type float in the Replace field.
-
Select the icons for Match case and Match whole word in the control, or press Alt+C and Alt+W.
-
Select the Replace all icon or press Alt+A to run the search and replace.
-
Run your calculator app again, and divide the number 42 by the number 119.
The app now returns a decimal number instead of zero.
Now the app can produce decimal results. Make a few more tweaks to the code so the app can calculate decimals too.
-
Use the Find and Replace control to change each instance of the
float
variable todouble
, and to change each instance of theConvert.ToInt32
method toConvert.ToDouble
. -
Run your calculator app, and divide the number 42.5 by the number 119.75.
The app now accepts decimal values, and returns a longer decimal numeral as its result.
In the Revise the code section, you reduce the number of decimal places in the results.
Debug the app
You’ve improved your basic calculator app, but your app doesn’t yet handle exceptions, such as user input errors. For example, if users try to divide by zero, or enter an unexpected character, the app might stop working, return an error, or return an unexpected nonnumeric result.
Let’s walk through a few common user input errors, locate them in the debugger if they appear there, and fix them in the code.
[!TIP]
For more information about the debugger and how it works, see First look at the Visual Studio debugger.
Fix the «divide by zero» error
If you try to divide a number by zero, the console app might freeze, and then shows you what’s wrong in the code editor.
[!NOTE]
Sometimes the app doesn’t freeze, and the debugger doesn’t show a divide-by-zero error. Instead, the app might return an unexpected nonnumeric result, such as an infinity symbol. The following code fix still applies.
To change the code to handle this error:
-
In Program.cs, replace the code for
case "d":
with the following code:// Ask the user to enter a non-zero divisor until they do so. while (num2 == 0) { Console.WriteLine("Enter a non-zero divisor: "); num2 = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2)); break; }
After you replace the code, the section with the
switch
statement should look similar to the following screenshot:
Now, when you divide any number by zero, the app asks for another number, and keeps asking until you provide a nonzero number.
Fix the «format» error
If you enter an alphabetic character when the app expects a numeric character, the app freezes. Visual Studio shows you what’s wrong in the code editor.
::: moniker range=»<=vs-2019″
::: moniker-end
::: moniker range=»>=vs-2022″
::: moniker-end
To prevent this exception, you can refactor the code you’ve previously entered.
Revise the code
Rather than rely on the program
class to handle all the code, you can divide your app into two classes: Calculator
and Program
.
The Calculator
class handles the bulk of the calculation work, and the Program
class handles the user interface and error-handling work.
Let’s get started.
-
In Program.cs, delete everything and add the following new
Calculator
class:class Calculator { public static double DoOperation(double num1, double num2, string op) { double result = double.NaN; // Default value is "not-a-number" if an operation, such as division, could result in an error. // Use a switch statement to do the math. switch (op) { case "a": result = num1 + num2; break; case "s": result = num1 - num2; break; case "m": result = num1 * num2; break; case "d": // Ask the user to enter a non-zero divisor. if (num2 != 0) { result = num1 / num2; } break; // Return text for an incorrect option entry. default: break; } return result; } }
-
Also add a new
Program
class, as follows:class Program { static void Main(string[] args) { bool endApp = false; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#r"); Console.WriteLine("------------------------n"); while (!endApp) { // Declare variables and set to empty. string numInput1 = ""; string numInput2 = ""; double result = 0; // Ask the user to type the first number. Console.Write("Type a number, and then press Enter: "); numInput1 = Console.ReadLine(); double cleanNum1 = 0; while (!double.TryParse(numInput1, out cleanNum1)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput1 = Console.ReadLine(); } // Ask the user to type the second number. Console.Write("Type another number, and then press Enter: "); numInput2 = Console.ReadLine(); double cleanNum2 = 0; while (!double.TryParse(numInput2, out cleanNum2)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput2 = Console.ReadLine(); } // Ask the user to choose an operator. Console.WriteLine("Choose an operator from the following list:"); Console.WriteLine("ta - Add"); Console.WriteLine("ts - Subtract"); Console.WriteLine("tm - Multiply"); Console.WriteLine("td - Divide"); Console.Write("Your option? "); string op = Console.ReadLine(); try { result = Calculator.DoOperation(cleanNum1, cleanNum2, op); if (double.IsNaN(result)) { Console.WriteLine("This operation will result in a mathematical error.n"); } else Console.WriteLine("Your result: {0:0.##}n", result); } catch (Exception e) { Console.WriteLine("Oh no! An exception occurred trying to do the math.n - Details: " + e.Message); } Console.WriteLine("------------------------n"); // Wait for the user to respond before closing. Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: "); if (Console.ReadLine() == "n") endApp = true; Console.WriteLine("n"); // Friendly linespacing. } return; } }
-
Select the Calculator button or press F5 to run your app.
-
Follow the prompts and divide the number 42 by the number 119. Your results should look similar to the following screenshot:
::: moniker range=»<=vs-2019″
::: moniker-end
::: moniker range=»>=vs-2022″
::: moniker-endYou can now run more calculations until you choose to close the console app. There are also fewer decimal places in the results. And if you enter an incorrect character, you get an appropriate error response.
Close the app
-
If you haven’t already done so, close the Calculator app.
-
Close the Output pane in Visual Studio.
-
In Visual Studio, press Ctrl+S to save your app.
[!INCLUDE../includes/git-source-control.md]
Review: Code complete
In this tutorial, you made many changes to the Calculator app. The app now handles computing resources more efficiently, and handles most user input errors.
Here’s the complete code, all in one place:
class Calculator { public static double DoOperation(double num1, double num2, string op) { double result = double.NaN; // Default value is "not-a-number" which we use if an operation, such as division, could result in an error. // Use a switch statement to do the math. switch (op) { case "a": result = num1 + num2; break; case "s": result = num1 - num2; break; case "m": result = num1 * num2; break; case "d": // Ask the user to enter a non-zero divisor. if (num2 != 0) { result = num1 / num2; } break; // Return text for an incorrect option entry. default: break; } return result; } } class Program { static void Main(string[] args) { bool endApp = false; // Display title as the C# console calculator app. Console.WriteLine("Console Calculator in C#r"); Console.WriteLine("------------------------n"); while (!endApp) { // Declare variables and set to empty. string numInput1 = ""; string numInput2 = ""; double result = 0; // Ask the user to type the first number. Console.Write("Type a number, and then press Enter: "); numInput1 = Console.ReadLine(); double cleanNum1 = 0; while (!double.TryParse(numInput1, out cleanNum1)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput1 = Console.ReadLine(); } // Ask the user to type the second number. Console.Write("Type another number, and then press Enter: "); numInput2 = Console.ReadLine(); double cleanNum2 = 0; while (!double.TryParse(numInput2, out cleanNum2)) { Console.Write("This is not valid input. Please enter an integer value: "); numInput2 = Console.ReadLine(); } // Ask the user to choose an operator. Console.WriteLine("Choose an operator from the following list:"); Console.WriteLine("ta - Add"); Console.WriteLine("ts - Subtract"); Console.WriteLine("tm - Multiply"); Console.WriteLine("td - Divide"); Console.Write("Your option? "); string op = Console.ReadLine(); try { result = Calculator.DoOperation(cleanNum1, cleanNum2, op); if (double.IsNaN(result)) { Console.WriteLine("This operation will result in a mathematical error.n"); } else Console.WriteLine("Your result: {0:0.##}n", result); } catch (Exception e) { Console.WriteLine("Oh no! An exception occurred trying to do the math.n - Details: " + e.Message); } Console.WriteLine("------------------------n"); // Wait for the user to respond before closing. Console.Write("Press 'n' and Enter to close the app, or press any other key and Enter to continue: "); if (Console.ReadLine() == "n") endApp = true; Console.WriteLine("n"); // Friendly linespacing. } return; } }
Next steps
Continue with the second part of this tutorial:
[!div class=»nextstepaction»]
Tutorial Part 2: Extend and debug your C# console app
Время на прочтение
4 мин
Количество просмотров 105K
Привет всем
Я решил начать цикл статей на тему обучения программирования в .NET, а именно на C#. Я не претендую на авторство всего, что здесь и далее будет написано, я всего лишь хочу дать знания тем, кто этого желает.
На Хабре много раз могли заметить мои комментарии по поводу того, что я очень хотел бы обучать людей, но никак не мог придумать как это сделать. После цикла статей MaxElc я подумал, что тоже могу паралельно с ним начать писать.
Пожалуй начнём!
Архитектура .NET
.NET — это среда исполнения или платформа. Она располагается между кодом и Windows, позволяя предоставлять нужные службы. Платформа .NET состоит из двух основных компонентов. Это Common Language Runtime и .NET Framework Class Library.
Common Language Runtime (сокращенно CLR) можно назвать «двигателем» платформы .NET. CLR занимается управлением памятью, компиляцией и выполнением кода, работой с потоками управления, обеспечением безопасности и т.п.
.NET Framework Class Library — это набор классов на все случаи жизни.
Итак, чтобы понять, как работает .NET, рассмотрим её составные части:
Общая система типов (Common Type System, сокращенно CTS) — охватывает большую часть типов, встречающихся в распространенных языках программирования.
Виртуальная система исполнения (Virtual Execution System, сокращенно VES) — отвечает за загрузку и выполнение программ, написанных для CLI.
Система метаданных (Metadata System) — предназначена для описания типов, хранится в независимом от конкретного языка программирования.
Общий промежуточный язык (Common Intermediate Language, сокращенно CIL) — независимый от платформы объектно-ориентированный байт-код, выступающий в роли целевого языка для любого поддерживающего CLI компилятора.
Общая спецификация языков (Common Language Specification, сокращенно CLS) — соглашение между разработчиками языков программирования и разработчиками библиотек классов, в котором определено подмножество CTS и набор правил.
Одной из основных идей .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi.
Я не буду вдаваться в подробности и перепечатывать учебники. Для тех, кто желает более подробно узнать про .NET я оставлю внизу ссылки на необходимые ресурсы. Просто весь смысл сводится к тому, что .NET нам помогает! И это очень хорошо. =)
Основы C#
Для удобного исполнения примеров рекомендую вам скачать бесплатный Visual Studio 2008 Express, а у кого траффик не казенный, то можете использовать #Develop — это OpenSource проект с открытым исходным кодом.
Начнём с немного боянного уже примера — Hello World!
- using System;
- class HelloWorld
- {
- public static int Main()
- {
- Console.WriteLine("Hello World!");
- return 0;
- }
- }
* This source code was highlighted with Source Code Highlighter.
Если вы используете Visual Studio или #Develop — создайте новый консольный проект. Для извращенцев можно попробовать использовать csc.exe — это компилятор C#. Он входит в состав свободно распространяемой MS.NET SDK.
Для сборки в IDE выберите Build в меню Project, а используя csc.exe наберите в командной строке:
csc /out:TargetFile.exe SourceFile.cs
где TargetFile.exe — это выходной файл, а SourceFile.cs — файл, где вы набрали вышенаписанный код.
Давайте разберём код, который мы написали.
using подключает пространство имён System, которое включает в себя методы ввода/вывода и нужные типы.
class HelloWorld — объявили новый класс, который мы обозвали как HelloWorld. Чуть позже я вам расскажу про классы более подробнее, а пока вам надо понять, что любая программа на C# состоит из классов.
Далее идёт метод Main() — это дверь для компилятора. Свою работу он будет начинать отсюда. Метод Main() обязателен для любой программы и его имя должно писаться именно так. В C# регистр имеет значение ;).
[модификатор] возвращаемый_тип ИмяМетода([параметр])
{
//тело метода
}
Вот как выглядят методы. Сначала идёт модификатор, затем надо указать тип данных, которые он будет возвращать, имя самого метода, а в скобках параметры, которые он принимает. Про всё это вы узнаете из будущих статей, а пока просто попытайтесь запомнить.
Квадратные скобки обозначают необязательные параметры. Модификаторы используются для указания особенностей вызова метода, например, откуда он может быть вызван.
Наконец перейдём к самим операторам. У нас вызывается метод WriteLine() класса System.Console для вывода строки в консоли. Для выхода из метода применяется оператор return и так как это метод Main(), то происходит выход из программы. В заголовке метода Main() указан тип int, поэтому необходимо вернуть целое значение (в данном случае).
Важные ссылки
.NET Framework (Wikipedia)
Офф. сайт .NET
Обзор технологии NET Framework (MSDN)
Visual Studio 2008 Express
#Develop
C# IDE Mobile
P.S. Я оставил эту статью логически незаконченой, т.к. завтра намериваюсь продолжить писать и опубликавать. Пишите в комментарии свою критику и вопросы. Надеюсь вам понравилось.
P.P.S. MaxElc! А вёдрами то интереснее =)
В этом уроке вы напишите простую программу «Привет, мир!» на C#и познакомитесь с основным синтаксисом и требованиями к программе на C#.
Программа «Привет, мир!» — первая программа, которую мы пишем, когда погружаемся в новый язык. Она просто выводит сообщение «Привет, мир!» на экран, вот и все.
Цель написания этой программы — познакомиться с основным синтаксисом и требованиями языка программирования.
Пишем «Привет, мир!» на C#
// код программы «Привет, мир!»
namespace HelloWorld
{
class Hello {
static void Main(string[] args)
{
System.Console.WriteLine("Привет, мир!");
}
}
}
После запуска программа выведет:
Привет, мир!
Как работает эта программа
Давайте разберем программу построчно.
1. // код программы «Привет, мир!»
//
указывает на начало комментария в C#. Компилятор C# не выполняет комментарии. Они предназначены для того, чтобы разработчики лучше понимали содержимое кода.
2. namespace HelloWorld{...}
Ключевое слово namespace
используется для определения пространства имен. Мы создаем пространство имен HelloWorld
.
3. class Hello{...}
Указанный выше оператор создает класс с именем — Hello
. Поскольку C# — это объектно-ориентированный язык программирования, наличие класса обязательно для выполнения программы.
4. static void Main(string[] args){...}
Main()
— метод класса Hello. Выполнение любой программы на C# начинается с метода Main()
, поэтому наличие данного метода тоже обязательно.
Синтаксис метода Main()
static void Main(string[] args)
{
…
}
Подробнее о методах мы поговорим позже. Сейчас вам достаточно понимать, что этот фрагмент кода выводит «Привет, мир!» на экран. Подробнее о том, как он работает, вы узнаете в следующих главах.
Как иначе написать программу «Привет, мир!»
Альтернативный способ написать программу «Привет, мир!»:
// код программы «Привет, мир!»
using System;
namespace HelloWorld
{
class Hello {
static void Main(string[] args)
{
Console.WriteLine("Привет, мир!");
}
}
}
Заметьте, в данном случае мы написали using System;
в начале программы. Благодаря этому, мы можем заменить
System.Console.WriteLine("Привет, мир!");
на
Console.WriteLine("Привет, мир!");
Такое упрощение мы будем использовать и в последующих главах.
Что нужно запомнить
- В каждой программе на C# должно быть определение класса.
- Выполнение программы начинается с метода
Main()
. - Метод
Main()
находится внутри определения класса.
«Привет, мир!» — простая программа для знакомства с C#. Это нормально, если вы чего-то не поняли. Никто ничего не понимал в самом начале. По мере того, как мы будем двигаться дальше, все начнет проясняться.
Статья открывает цикл уроков, посвященный языку программирования C# и платформе .NET. В этом уроке будет рассмотрен вопрос установки .NET, познакомимся со средами разработки для языка C# и создадим “Hello, World!”-проект.
- Платформа .NET и язык C#
- Версии .NET
- Установка .NET
- .NET Framework
- .NET Core
- Установка для Windows
- Установка на Linux
- Среда разработки (IDE)
- Microsoft Visual Studio
- VS Code
- JetBrains Rider
- Онлайн интерпретаторы
- “Hello, World” на C#
- Создание проекта в Microsoft Visual Studio (Windows)
- Создание проекта с использованием средств .NET Core (Windows и Linux)
- Компиляция файла с исходным кодом вручную (Windows)
Платформа .NET и язык C#
.NET является программной платформой, разработанной компанией Microsoft. Выделим некоторые из ее особенностей:
- Мультиязыковая ориентированность. Основным языком программирования для .NET является C#, помимо него платформа поддерживает еще ряд языков: VB.NET, F#, C++ и др. Эта возможно благодаря тому, что в основе платформы лежит общеязыковая среда исполнения Common Language Runtime (CLR). Код на любом из поддерживаемых языков компилируется в сборку на языке CIL (Common Intermediate Language) – аналог ассемблера для .NET, что позволяет разрабатывать отдельные части приложения на разных языках.
- Кроссплатформенность. Еще одной особенностью платформы является поддержка большинства современных ОС (Windows, MacOS, Linux). Это позволяет заниматься разработкой приложений на языке C# на той ОС которая вам ближе, а запускать их можно на разных ОС и архитектурах.
- Обширная библиотека классов. Платформа включает в себя большое количество библиотек классов. Все они доступны для любого поддерживаемого языка. Внутри библиотек можно найти готовые инструменты для решения широкого круга задач.
- Широкий спектр решений для создания приложений. В рамках платформы .NET разработчик получает доступ к большому количеству инструментов для решения различных задач: ADO.NET и Entity Framework для работы с базами данных, WPF и UWP для разработки десктопных графических приложений, ASP.NET для разработки веб-приложений, Blazor для frontend разработки и т.д.
На текущий момент язык программирования С# – это отличный инструмент для решения практически любых задач. Он является объектно-ориентированным, синтаксически похож на C++ и Java. По данным рейтинга TIOBE Index C# занимает пятое место на момент написания статьи (2020).
Версии .NET
Первая версия платформы называлась .NET Framework, она была представлена в 2002 году. Долгое время она существовала преимущественно для операционной системы Windows. В 2016 году Microsoft выпустила полностью кроссплатформенную среду .NET Core с открытым исходным кодом для разработки ПО под операционные системы Windows, Linux и MacOS. В этом временном промежутке было несколько попыток создать кроссплатформенную версию .NET, среди проектов, которые получили популярность можно отметить Mono от компании Xamarin (ранее Novell). Проект был представлен в 2004, неплохо развивался, и в 2016 году Microsoft купила Xamarin. Xamarin SDK была добавлена в IDE Visual Studio как бесплатный инструмент.
На текущий момент мы находимся на пороге нового витка развития .NET – это появление .NET 5. Это важный этап развития платформы, начиная с которого .NET станет полностью открытой кроссплатформенной средой для всех популярных ОС, больше не будет отдельной версии .NET Framework для Windows и открытой .NET Core, .NET 5 включит в себя все наработки, которые были сделаны за это долгое время. О том, как она выглядит структурно можете посмотреть на картинке ниже.
(Изображение взято с блога Microsoft)
Установка .NET
.NET Framework
.NET Framework используется в Windows и входит в состав ОС начиная с Windows 7, более ранние версии .NET Framework необходимо было самостоятельно устанавливать перед началом разработки. На текущий момент самая новая версия: .NET Framework 4.8. Для того чтобы начать разработку под эту платформу необходимо установить среду Microsoft Visual Studio, о том, как это сделать читайте далее.
.NET Core
Для разработки приложений под .NET Core необходимо скачать соответствующий дистрибутив и установить его. Перейдя по ссылке https://dotnet.microsoft.com/download/dotnet-core вы увидите все версии .NET Core. На момент написания статьи стабильная и рекомендуемая версия – 3.1. На ее примере мы и произведем знакомство с процессом установки.
Выберите в таблице – .NET Core 3.1
В следующем окне вы увидите разные релизы платформы, нас интересует самый верхний. В строке нужного релиза найдите раздел Build apps – SDK.
В зависимости от ОС, под которой вы будете разрабатывать, нажмите на соответствующую ссылку для скачивания дистрибутива.
Установка для Windows
Выберете дистрибутив под Windows и дождидесь его скачивания. После запуска файла установки, на первом экране вы увидите краткую информацию о продукте. Нажмите на кнопку “Установить”.
Начнется установка компонентов платформы .NET Core. Если все пройдет успешно, то в конце этого процесса будет представлен отчет об установке.
На этом процесс установки для Windows можно считать завершенным.
Установка .NET на Linux
Перейдите на страницу официальной документации Microsoft по установке .NET Core и убедитесь, что ваша операционная система (тип и версия) поддерживает возможность установки .NET Core.
Далее рассмотрим пример для Ubuntu. Перейдите в соответствующий раздел документации, нас интересует Ubuntu 20.03 и .NET Core 3.1.
Согласно приведенной инструкции нужно выполнить несколько шагов. Добавьте ключ подписывания пакета Microsoft в список доверенных ключей и добавьте репозиторий пакетов:
> wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb > sudo dpkg -i packages-microsoft-prod.deb
После этого запустите установку SDK:
> sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update && sudo apt-get install -y dotnet-sdk-3.1
Для проверки того, что .NET Core установлен на вашей Linux машине можете проверить версии пакета SDK:
> dotnet --list-sdks 3.1.202 [/usr/share/dotnet/sdk]
И проверить версии среды выполнения:
> dotnet --list-runtimes Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Среда разработки (IDE)
Средство разработки, которое включает в себя мощный редактор кода и набор инструментов для работы с проектом, его сборки и т.п. называется IDE. На данный момент существует несколько IDE, в которых есть все необходимое для того чтобы начать путь разработчика на C#, далее будут рассмотрены процессы установки Microsoft Visual Studio, VS Code, JetBrains Rider на ОС Windows.
Microsoft Visual Studio
Если ваша основная ОС это Windows, то одним из самых мощных и удобных средств для разработки приложений под эту платформу является Visual Studio. Это полнофункциональная среда позволяет разрабатывать все типы приложений под Windows, Android, iOS, Linux, веб-сервисы и облачные приложения, поддерживает как .NET Framework так и .NET Core. На момент написания статьи самая актуальная версия этого продукта – это Visual Studio 2019, она имеет ряд лицензий – Community, Professional, Enterprise. Для начинающего разработчика Community варианта будет более чем достаточно, эта лицензия позволяет разрабатывать даже коммерческое ПО, но у нее есть некоторые ограничения, более подробная информация по этому вопросу есть на официальном сайте Microsoft.
Для загрузки Visual Studio перейдите по ссылке https://visualstudio.microsoft.com/ru/downloads/. Нажмите кнопку “Скачать бесплатно” под редакцией Community.
Сохраните файл установки на компьютере. Это веб-установщик, поэтому он имеет небольшой размер. Запустите его, в результате вам будет представлено окно приветствия.
Нажмите на кнопку “Продолжить” дождитесь окончания подготовительного этапа. После этого откроется окно с настройкой компонентов, для выполнения всех работ по курсу достаточно выбрать “Разработка классических приложений .NET”, “ASP.NET и Разработка веб-приложений”.
Дождитесь окончания установки, это может занять продолжительное время в зависимости от мощности вашего компьютера и скорости доступа в интернет.
Microsoft VS Code
Еще один продукт от Microsoft, он позиционируется как легковесный редактор кода, включает в себя отладчик, инструменты для работы с Git, подсветку синтаксиса, IntelliSense, средства для рефакторинга и многое другое. VS Code предоставляет большое количество настроек визуального оформления редактора.
Для его установки перейдите по ссылке https://code.visualstudio.com/?wt.mc_id=vscom_downloads.
Нажмите на кнопку “Download for Windows” и сохраните дистрибутив на свой компьютер.
Запустите скачанный файл. Нажмите “Далее” в окне с лицензионным соглашением.
В следующем окне оставьте все галочки без изменений и нажмите “Далее”.
В последнем окне нажмите кнопку “Установить” и дождитесь окончания установки.
Установка завершена.
JetBrains Rider
Познакомимся еще с одной IDE теперь от другого разработчика – JetBrains. Rider это кроссплатформенная интегрированная среда разработки ПО для платформы .NET. Для ее скачивания перейдите по следующей ссылке https://www.jetbrains.com/ru-ru/rider/download/#section=windows
Нажмите кнопку “Скачать”, дождитесь загрузки дистрибутива и запустите его.
Нажмите “Next” и выберите место установки. На следующем экране можно произвести дополнительные настройки ассоциации файлов или оставить все как есть, после этого нажмите кнопку “Next”, а затем “Install”.
Дождитесь окончания установки.
Онлайн интерпретаторы
Если вы хотите быстро проверить работу вашего кода, то лучше всего для этого подойдет онлайн интерпретатор C#. Далее приведены несколько проектов, которые можно использовать для этой цели:
https://www.onlinegdb.com/online_csharp_compiler
https://repl.it/languages/csharp
https://ideone.com/
https://www.jdoodle.com/compile-c-sharp-online/
“Hello, World” на C#
Создание проекта в Microsoft Visual Studio (Windows)
Создадим первый проект на языке C# для Windows. Для этого запустите Visual Studio, при первом запуске появится окно “Добро пожаловать”.
Снимите галочку “Проверка подлинности …”, если у вас есть Microsoft-аккаунт, то нажмите на кнопку “Войти”, если нет, то на надпись “Не сейчас, возможно позже”.
Далее выберите тему по вкусу и нажмите “Запуск Visual Studio”.
Все подготовительные шаги пройдены, нажмите на кнопку “Создание проекта”.
Выберете шаблон “Консольное приложение” и нажмите “Далее”.
Укажите имя проекта, например “MyFirstProject” и место где он будет сохранен.
В результате будет открыто окно Visual Studio с созданным проектом.
Проект в Visual Studio представляет собой набор файлов, их структура представлена в окне “Обозреватель решения”. Основной файл, который нас сейчас интересует это Program.cs. Откройте его, мы добавили поясняющие комментарии в код модуля:
using System; // Подключаем библиотеку System // Пространство имен, с классом Program namespace MyFirstProject { // Объявление класса Program class Program { // Точка входа. Метод, который будет запущен первым при старте приложения static void Main(string[] args) { // Вывод текста "Hello World!" в консоль Console.WriteLine("Hello World!"); } } }
Запустим наше приложение и посмотрим, что произойдет.
Для этого можно использовать несколько способов:
- На панели вверху нажать кнопку с изображением зеленого треугольника. Название у кнопки будет такое же как у вашего “решения”.
- Нажать сочетание клавиш Ctrl + F5, запустится “решение” без отладки, либо F5 для режима отладки.
- Через панель меню: Отладка -> “Запуск без отладки”
Запустите приложение любым вышеописанным способом, в результате появится консоль, в которой будет выведено сообщение “Hello World!“.
Процесс запуска приложения “под капотом” достаточно сложен, он включает в себя создание ряда каталогов, компиляцию проекта в сборку (файл с расширением .exe) и непосредственно запуск получившегося файла. Результат сборки вы можете найти в папке <Папка проекта>binDebug – если выбран режим сборки Debug, либо в <Папка проекта>binRelease – если выбран Release. Режим по умолчанию – это Debug.
Создание проекта с использованием средств .NET Core (Windows и Linux)
В этом разделе мы познакомимся с консольным инструментом .NET Core для создания, сборки и запуска проектов. Приведенный подход работает в Windows и Linux. Перейдите в каталог, в котором вы хотите работать с вашим проектом. Откройте консоль (если вы работаете в Windows, то нажмите сочетание клавиш Win+R и введите cmd), и с помощью команды cd перейдите в папку с проектом:
> cd c:MyFirstProject
Для создания проекта в .NET Core используется команда dotnet new, после которой указывается тип проекта. Так как мы будем работать с консольным приложением, то нужно указать тип console:
> dotnet new console
После выполнения команды в папке с проектом будет размещен необходимый набор файлов. Для запуска проекта воспользуйтесь командой:
> dotnet run
Как и в случае с проектом в Visual Studio, в консоли будет выведен текст “Hello World!”.
Поработаем над кодом программы: вместо текста выведем текущую дату. Для этого в файле Program.cs замените строку
Console.WriteLine(“Hello World!”);
на
Console.WriteLine(DateTime.Now);
Сохраните файл и выполните команду:
> dotnet run
Вместо текста в консоли должна появиться текущая дата.
Компиляция файла с исходным кодом вручную (Windows)
Познакомимся с компилятором C#, из .NET Framework (только для Windows). Создайте пустой каталог, а в нем файл Program.cs. Откройте его текстовым редактором и внесите туда следующий код:
using System; namespace FirstApp { class Program { static void Main(string[] args) { Console.WriteLine(DateTime.Now); } } }
В меню “Пуск” найдите и откройте “Developer Command Prompt for VS 2019”, перейдите в каталог с файлом и выполните в нем команду:
> csc.exe Program.cs
Если компиляция прошла успешно, то должен появиться файл Program.exe. Запустите его для этого введите в терминале:
> Program.exe
В результате должны быть выведены текущие дата и время.
C# (Си шарп) — известнейший объектно-ориентированный язык программирования. Он был разработан группой инженеров от Microsoft на рубеже веков (1998—2001 гг.). Относится к семье языков, имеющих C-подобный синтаксис, очень близок, к примеру, к языку C++ или Java. Однако в этой статье мы не будем подробно рассказывать про историю развития и особенности C #, а лучше сразу перейдем к практическим урокам. Таким образом, ниже вы найдете несколько простейших уроков (глав), представляющих собой обучение первым шагам по программированию на Си шарп с нуля.
Изучаю C# с нуля, глава № 1: первая программа
Как это принято во многих других языках программирования, в качестве первой программы происходит так называемое «знакомство», то есть пресловутый «Hello World!» Давайте в этой главе урока выведем какое-нибудь приветствие, используя метод Console.WriteLine
. В нашем случае Console — это, по сути, тип, представляющий окно консоли, тогда как WriteLine — метод типа Console, осуществляющий вывод строки текста в консоли.
Вот наш код:
using System;
class OtusClass {
static void Main() {
Console.WriteLine(«Привет, Otus!»);
}
}
Результат работы очевиден:
Вы можете вставить этот код в любой онлайн-компилятор, проверив таким образом работоспособность программы. Также попробуйте написать свое приветствие или изменить название класса.
Учим C# с нуля, глава № 2: переменные
Продолжая изучение, отметим, что данная глава урока будет уже несколько сложнее. Здесь мы рассмотрим работу с типом string, представляющим текст на языке программирования C#. Как и в случае с Console, для типа string применяются методы, причем методы, работающие с текстом.
Если функции программы из главы урока № 1 ограничивались выводом одного простейшего сообщения, то в этом уроке все будет несколько иначе. На практике существует возможность создавать намного более сложные программы, а помогает в этом использование переменных. Что такое переменная? Это символ, применение которого позволяет выполнять один и тот же код с различными значениями.
Давайте посмотрим, как это работает. Изменим немного наш первоначальный код.
using System;
class OtusClass {
static void Main() {
string onlineSchool = «Otus»;
Console.WriteLine(onlineSchool);
}
}
Обратите внимание, что в самой первой строке мы объявили variable onlineSchool, назначив ей значение Otus. В результате вывод названия этой онлайн-школы произошел уже второй строке.
Важно понимать, что любая объявляемая variable может получать различные значения. Если требуется, вы можете прописать название другой школы (но мы не советуем :-). То есть одна и та же переменная способна выводить разные значения. Давайте допишем всего две строки.
Интерес вызывает тот факт, что посредством той же самой строки (6 и мы получили два разных сообщения. А все потому, что значение нашей onlineSchool изменилось.
Есть и другие варианты. Внесем снова небольшие изменения в первую программу из главы урока № 2:
using System;
class OtusClass {
static void Main() {
string onlineSchool = «Otus»;
Console.WriteLine(«Привет » + onlineSchool);
}
}
Выполнив, мы снова получим приветственную фразу, то есть мы создали строку, используя как константу (слово «Привет»), так и variable.
Учим C#, глава № 3: интерполяция
Но давайте снова усложним нашу предыдущую главу и обучение, то есть пойдем немного дальше. К примеру, поместим нашу переменную между символами фигурных скобок { … }, что позволит коду на C# заменить наш текст переменным значением. Но чтобы мы могли это реализовать, необходимо добавить перед открывающей кавычкой специальный символ $.
Смотрим и практикуемся:
using System;
class OtusClass {
static void Main() {
string onlineSchool = «Otus»;
Console.WriteLine($»Привет {onlineSchool}»);
}
}
Что же мы получим в итоге?
Это не что иное, как интерполяция строк, и теперь вы будете знать о такой технике не понаслышке. Разве не здорово — пройдено всего три коротких главы обучения, а вы уже «потрогали» интерполяцию?
Однако наша короткая статья — не самоучитель, а лишь краткое знакомство с несколькими обучающими главами, которые будут полезны новичкам, желающим программировать на C#.
На этом наши 3 небольших, но содержательных урока подошли к концу. Если хотите освоить язык программирования Си шарп на более профессиональном уровне с подробными главами, экспертными уроками, и обильной практикой, добро пожаловать в онлайн-школу! А вот в какую именно, вы уже хорошо знаете 😉 Помните, что изучение при помощи практикующих программистов даст вам гораздо больше, чем самый лучший самоучитель или самый продвинутый план самостоятельного образования. Планы — планами, теория — теорией, но практику ничто не заменит — с ее помощью изучишь программирование гораздо быстрее.
Статья написана по материалам официального самоучителя для изучения Си шарп с нуля от Microsoft:
- https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/tutorials/hello-world?tutorial-step=1.