Как написать код на си шарп

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.

Время на прочтение
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!

  1. using System;
  2.  
  3. class HelloWorld
  4. {
  5.   public static int Main()
  6.   {
  7.     Console.WriteLine("Hello World!");
  8.     return 0;
  9.   }
  10. }

* 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! А вёдрами то интереснее =)

Теперь пора перейти к практике. Сегодня мы будем работать в онлайн-среде ideone. Серьезные программы в онлайн-средах не пишутся, но для обучения и практики это самое то!

Итак, откроем сайт ideone. Слева будет окошко для кода. Возможно, что по умолчанию там будет выбран другой язык — тогда просто нажмите на его название и выберите C#.

В окошке уже будет написано несколько строчек основы, а свой код мы будем писать под надписью «your code goes here».

Самые первые слова любого программиста — «Привет, мир!» (Hello, World!), поэтому и мы начнём с них. Хотя не совсем: мы позволили себе заменить «мир» на «Скиллбокс» ;) Чтобы отобразить наше сообщение, используем команду Console.WriteLine (). Свой текст напишем в скобках и не забудем поставить кавычки. Вот так:

Console.WriteLine () — команда для отображения информации.

Чтобы запустить свой код и протестировать, работает ли он, нажмём зелёную кнопку RUN в углу.

Чтобы общаться с нашим будущим чат-ботом, нам надо научить его читать — то есть сделать так, чтобы мы могли задавать информацию, с которой он будет работать. Для этого мы используем команду Console.ReadLine (). Она прочитает текст, который написал пользователь.

Давайте уже напишем начало: пусть чат-бот здоровается, а потом читает наше сообщение:

Console.WriteLine(“Приветствую, задавай свой вопрос!”);
Console.ReadLine();

Прочитать-то он прочитает, но память у бота короткая — надо, чтобы он это сообщение запомнил. Для этого сохраним его в переменную — назовём её, например, text. Вместо Console.ReadLine () напишем вот так:

var text = Console.ReadLine();

Console.ReadLine () — команда, читающая сообщение пользователя;
var — команда, которая отмечает, что мы создаём новую переменную. После неё мы пишем название переменной.

Пусть бот уточняет, что именно мы ему сказали, — вдруг мы забудем. Сделаем мы это той же командой Console.WriteLine (), только в этот раз мы не знаем заранее, что надо будет написать, поэтому используем переменную. Чтобы вставить переменную в текст, обозначим её фигурными скобками, а перед кавычками напишем знак доллара, вот так:

Console.WriteLine(“Приветствую, задавай свой вопрос!”);
var text = Console.ReadLine();
Console.WriteLine($”Ваш вопрос: {text}”);

$ позволяет вставить переменную в текст. Пишем его перед кавычками, а саму переменную в тексте обозначаем фигурными скобками.

Важно!
Не забывайте ставить точку с запятой в конце каждой строчки!


Чтобы задать свой input, запустите программу, а потом нажмите кнопку edit слева вверху над кодом.

Снизу откроется окошко с надписью input над ним. То, что вы там напишете, программа использует при следующем запуске.

Сейчас наш чат-бот умеет здороваться и может повторить, что мы ему написали. Давайте научим его реагировать на то, что мы пишем. Для этого нам понадобится конструкция if — она проверяет, соблюдено ли условие, и решает, что делать дальше. На новой строке напишем if и в круглых скобках напишем условие. Пусть в ответ на «Привет» бот отвечает «Здарова!». Мы можем написать вот так:

if (text == “Привет”) {
	Console.WriteLine(“Здарова!”);
}

Для сравнения пишется двойной знак =. Обычный мы используем, если надо сохранить значение в переменную. Не путайте!

У нашего решения есть несколько проблем. Первая: если мы напишем весь свой текст маленькими или большими буквами, программа его не опознает. Что с этим делать? Добавим команду ToLower (), которая заменит все буквы на маленькие, и текст, с которым мы сравниваем сообщение пользователя, тоже перепишем маленькими буквами, вот так:

Console.WriteLine(“Приветствую, задавай свой вопрос!”);
var text = Console.ReadLine().ToLower();
if (text == “привет”) {
	Console.WriteLine(“Здарова!”);
}

А что, если мы напишем «Привет, как дела?»? Наш бот никак не отреагирует. Чтобы это исправить, используем функцию Contains (), которая проверит, есть ли нужная строка в нашем вводе.

if (text.Contains(“привет”)) {
	Console.WriteLine(“Здарова!”);
}

Можем разнообразить словарный запас нашего бота, добавив ещё условий:

if (text.Contains(“как дела”)) {
	Console.WriteLine(“Да нормалёк”);
}
if (text.Contains(“как тебя зовут”)) {
	Console.WriteLine(“Я — чат-бот Иннокентий”);
}

Теперь, если мы напишем «Привет! Как тебя зовут? Как дела?», наш бот напишет ответ на все фразы по очереди.

Важно!

Если бы вы писали более сложного «настоящего» бота или другую программу, вы бы не копировали один и тот же код много раз, а использовали файл, базу данных или что-то другое. Когда одна и та же часть повторяется много раз, код неудобно читать и тяжело исправлять.

А что, если мы хотим получать не только такие ответы, но и меняющуюся информацию? Например, нам интересно, какой сегодня день. Если бы мы написали сегодняшнюю дату в такую же конструкцию, как выше, то или нам пришлось бы переписывать код каждый день, или наша программа сразу бы устарела. Нам поможет функция DateTime. Спросим у неё, какая сейчас (Now) дата, переведём это в строку нужного формата (ToString («dd.MM.yyyy»)) и всё это сохраним в переменную date. Вот так это выглядит:

if (text.Contains(“какой сегодня день”)) {
	var date = DateTime.Now.ToString(“dd.MM.yyyy”);
	Console.WriteLine($“Сегодня {date}”);
}

И напоследок ещё одна важная тема.

Конструкция if часто идет в паре с else. Else описывает, что сделать в том случае, если условие из if не выполнится.

Используется else после if — но мы уже не пишем условие, а только действие в фигурных скобках. Вот пример этой конструкции:

if (text.Contains(“привет”)) {
	Console.WriteLine(“Здарова!”);
} else {
	Console.WriteLine(“Грубиян, даже не поздоровался!”);
}

Теперь, если мы напишем сообщение боту без слова «привет», он обидится и будет ругаться.

Для первого раза всё! Это были основы основ C#. Вы уже знаете, как отобразить текст (и не только), работать с информацией от пользователя, искать в тексте фразы, и попробовали работать с конструкцией if-else, которая очень важна. Из этих «кирпичиков» можно смело начинать строить!

C# (произносится как «си шарп») — это объектно-ориентированный язык программирования, который используется практически во всех сферах разработки. Так что если пока не определились — вы по адресу.

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

Особенности C#

1. Простой и понятный

Код, написанный на C#, намного проще и понятнее. Синтаксически он похож на Java. Поэтому для человека, имеющего опыт работы с Java, изучить C# будет не трудно.

2. Объектно-ориентированный

Как Java и C++, C# является объектно-ориентированным языком программирования. Он поддерживает свойства ООП, такие как объекты, классы, наследование, полиморфизм и т. д.

3. Типизированный

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

4. Современный

C# — это современный и мощный язык, который позволяет разработчикам быстро и легко создавать надежные приложения. Он всегда актуален.

Зачем изучать C#

Когда вы начинаете изучать новый язык программирования, важно узнать о перспективах этого языка. Действительно ли он полезен? Стоит ли его изучать? Перед тем, как погрузиться в C#, вы должны знать следующее:

1. Легко начать

Поскольку C# — высокоуровневый язык, его основные конструкции легко понять. Он ближе к другим популярным языкам, таким как Java и C++. Следовательно, человеку, имеющему опыт работы с этими языками программирования, очень легко перейти на C#.

2. Широко используется для разработки десктопных и веб-приложений

Согласно данным опроса StackOverflow в 2017 году, C# является третьим по популярности языком, используемым профессиональными разработчиками десктоп- и веб-приложений. C# также широко используется DevOps-инженерами и аналитиками данных.

3. Сообщество

Коммьюнити — один из наиболее важных факторов, которые необходимо учитывать при переходе на новый язык программирования. Сообщества предоставляют поддержку и ответы на ваши вопросы. У C# одно из крупнейших сообществ на StackOverflow.

4. Разработка игр

Unity — самый популярный игровой движок с огромным сообществом. И язык C# часто рекомендуют как наиболее подходящий для использования при создании игр на Unity.

5. Перспективное будущее

C# был разработан Microsoft и до сих пор поддерживается ей. Так что C# — это выбор в пользу разработки приложений для Windows, которая будет на рынке еще очень долго. Короче, будущее разработчика на C# выглядит довольно привлекательно.

Как научиться программировать на C#

1. На CodeChick

На нашей платформе есть серия простых для понимания уроков по C#. Она поможет вам изучить язык, даже если вы никогда не имели дела с языками программирования. 

2. По книгам

Учиться по книге — всегда хороший способ научиться программировать. Это может занять немного больше времени, но вы изучите передовой опыт написания кода и поймете основные концепции.

Вот несколько книг, которые вам подойдут:

  • «Head First. Изучаем C#» — охватывает все аспекты C#, а заодно и .NET Framework.
  • «Программирование на C#» — руководство базового уровня для начала работы с C#.

3. По официальной документации

C# разработала Microsoft, поэтому Microsoft до сих пор поддерживает документацию для C#. Эта документация постоянно обновляется, чтобы идти в ногу с изменениями в языке.

Это отличный ресурс для изучения C#, но, возможно, не лучший вариант для новичков.


Загрузить PDF


Загрузить PDF

C# – отличный язык программирования, а все инструменты, необходимые для начала работы с ним бесплатные и просты в использовании. Хотя C# у всех зачастую ассоциируется с Microsoft и закрытым кодом, сторонники бесплатного ПО просто используют DotGNU, который предоставляет более или менее те же самые базовые функции и позволяет изучать и изменять ядро без каких-либо ограничений. Приведенные ниже инструкции описывают как FOSS-ориентированный подход, так и Windows-ориентированный. C# также работает с .NET framework.

  1. Изображение с названием 6593 1

    1

    Зайдите сюда для загрузки бесплатной копии Visual C# 2010 Express Edition. В наличии также имеется версия от 2012 года, но лучше скачайте за 2010-й, если ищете С# разработку общего характера.

    • Версия 2012 года также не поддерживает Windows 7/8.
  2. Изображение с названием 6593 2

    2

    Запустите загруженный исполняемый файл и выполните следующие действия:

    • Далее.

      Изображение с названием Create a Program in C Sharp Step 2Bullet1

    • Я согласен → Далее.

      Изображение с названием Create a Program in C Sharp Step 2Bullet2

    • Выберите MSDN, а не SQL → Далее.

      Изображение с названием Create a Program in C Sharp Step 2Bullet3

    • Установить.

      Изображение с названием Create a Program in C Sharp Step 2Bullet4

    Реклама

  1. Изображение с названием 6593 3

    1

    Запустите Visual C# 2010 Express Edition.

  2. Изображение с названием 6593 4

    2

    Нажмите Файл → Новый → Проект.

  3. Изображение с названием 6593 5

    3

    Выберите Visual C# → Windows → Консольное приложение.

  4. Изображение с названием 6593 6

    4

    Нажмите «ОК».Вы должны увидеть следующее:

      using System;
      using System.Collections.Generic;
      using System.Text;
      namespace ConsoleApplication1
      {
        class Program
        {
          static void Main(string[] args)
          {
          }
        }
      }
      
  5. Изображение с названием 6593 7

    5

    Под static void Main(string[] args)и после первой фигурной скобкой вбейте следующее:

      Console.WriteLine("Hello, World!");
      Console.ReadLine();
      
  6. Изображение с названием 6593 8

    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. Изображение с названием 6593 9

    7

    Нажмите кнопку «Запуск» [►] на панели инструментов.
    Поздравляем! Вы только что создали свою первую программу на C#!

  8. Изображение с названием Create a Program in C Sharp Step 8Bullet1

    8

    Эта программа должна вызвать консольное окно с надписью «Hello World!».

    • Если это не так, значит, вы где-то ошиблись.

    Реклама

  1. Изображение с названием 6593 10

    1

    Вам понадобятся CVS и GNU компиляторы. Они включены в большинстве дистрибутивов Linux.

  2. Изображение с названием 6593 11

    2

    Зайдите на сайт проекта DotGNU (http://www.gnu.org/software/dotgnu/), который предоставляет FOSS-реализацию C# . Прочтите главу об установке. Даже новички смогут запросто следовать этим инструкциям.

  3. Изображение с названием 6593 12

    3

    Вы можете либо выбрать исходники и построить с нуля собственную среду разработки C# , либо сперва испытать уже скомпилированные дистрибутивы. Проект довольно просто создать из исходников, так что мы советуем сначала попробовать этот путь.

  4. Изображение с названием 6593 13

    4

    Попробуйте запустить несколько примеров, которые находятся уже в скомпилированном (.exe) виде. Например, FormsTest.exe покажет большую коллекцию различных элементов управления GUI. Папка pnetlib/samples содержит скрипт ilrun.sh, способный запускать скомпилированные исполняемые файлы таким вот образом: sh ./ilrun.sh forms/FormsTest.exe (из той же папки).

  5. Изображение с названием 6593 14

    5

    Под Линуксом вы можете использовать KWrite или gedit для редактирования C# кода. Последние версии обоих редакторов поддерживают подсветку синтаксиса для этого языка.

  6. Изображение с названием 6593 15

    6

    Узнайте, как скомпилировать короткий пример, описанный в секции о «Windows». Если на веб-сайте проекта недостаточно документации, поищите в Интернете. Если не помогло, задайте вопрос на сайте проекта.

  7. Изображение с названием 6593 16

    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 раза.

Была ли эта статья полезной?

Язык программирования C# и платформа .NET Framework прошли долгий путь развития с 2002 года и сегодня считаются одним из самых перспективных инструментов разработчика. С выходом .NET Core 1/2/3 и .NET 5 началась новая эра разработки программных систем на языке C#. Основной упор был сделан на кроссплатформенность.

Установка .NET и инструментов разработки на C#

Установка в ОС Windows

Для подготовки рабочего окружения в Windows, необходимо скачать и установить полнофункциональную среду разработки – Microsoft Visual Studio Community 2019. Запускаем файл vs_community.exe и в окне мастера установки выбираем необходимые компоненты(включая .NET 5):

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

После завершения установки выбранных компонентов и базовой оболочки Visual Studio можно приступать к написанию приложений.

Установка в Linux (Ubuntu)

Платформу .NET можно использовать в популярных дистрибутивах Linux: например, в Ubuntu 20.04 LTS поддерживается SDK .NET 5.0/.NET Core 3.1 и среда выполнения ASP.NET Core. Их можно установить по инструкции с сайта 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
rm packages-microsoft-prod.deb

    

Установим .NET SDK 5, введя в терминале команду:

        sudo apt-get update; 
  sudo apt-get install -y apt-transport-https && 
  sudo apt-get update && 
  sudo apt-get install -y dotnet-sdk-5.0

    

Среда выполнения ASP.NET Core устанавливается следующей командой:

        sudo apt-get update; 
  sudo apt-get install -y apt-transport-https && 
  sudo apt-get update && 
  sudo apt-get install -y aspnetcore-runtime-5.0

    

Завершающим этапом является установка редактора кода Microsoft Visual Studio Code: для этого нужно перейти на сайт и выбрать пакет с расширением .deb.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Запускаем и устанавливаем, после чего можно писать первую программу на C#. Для остальных дистрибутивов Linux все шаги сходны с точностью до используемой системы управления пакетами.

Установка в macOS

Платформа .NET и язык C# стали доступны и для операционной системы macOS. Также по аналогии с Windows была выпущена интегрированная среда разработки – Microsoft Visual Studio for Mac. Скачаем Visual Studio for Mac 2019.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Монтируем образ VisualStudioforMacInstaller.dmg и запускаем программу установки двойным щелчком:

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Принимаем лицензионное и выбираем необходимые компоненты (.NET Core):

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Нажимаем кнопку Install и ожидаем завершения работы установщика. Подробнее ознакомиться с инструкцией можно на сайте Microsoft.

Создание и запуск первого проекта

ОС Windows

В Windows запускаем Microsoft Visual Studio 2019 из меню Пуск и выбираем “Создание проекта”.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

В следующем окне в качестве типа проекта выберем Console App (Консольное приложение) на языке C#.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

На следующем шаге указываем имя и расположение проекта.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Выбираем необходимую версию .NET и создадим проект, щёлкнув кнопку Создать.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

После успешного создания проекта, откроется основное рабочее окно Visual Studio 2019. Оно состоит из трёх панелей: редактор кода, обозреватель проекта (решения) и свойства.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Структура проекта состоит из файла Program.cs и зависимостей, в редакторе кода открыто его содержимое.

Программа простая, но выполняет вывод строки. Для её компиляции и запуска нажимаем клавишу F5 или на зеленую стрелку.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

При успешном запуске программы в консольном окне выводится Hello World!.

Linux/Ubuntu

Создадим проект консольного приложения .NET – FirstApp в Visual Studio Code, для этого выберем Файл -> Открыть папку, далее в появившемся окне создадим папку FirsrApp и щелкнем Выбрать папку.

Откроем терминал в Visual Studio Code, выбрав Вид -> Терминал. В окне терминала введём следующую команду:

        dotnet new console --framework net5.0
    

Она создает простое приложение FirstApp и класс Program с методом Console.WriteLine(String) для вывода «Hello World!» в окне консоли.

Для запуска приложения в терминале вводим команду.

        dotnet run
    

В терминале после её выполнения будет выведена строка Hello World!.

Apple macOS

Запустим Visual Studio for Mac 2019 и щелкнем пункт New (Создать).

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

В разделе Web and Console (Интернет и Консоль) диалогового окна создания проекта выберем тип Приложение. Выберите шаблон Консольное приложение и нажмите кнопку Далее.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Вводим название проекта и щелкаем по кнопке Create (Создать).

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Консольное приложение успешно создано: как и ранее оно содержит класс Program с точкой входа Main и методом Console.WriteLine(“Hello World!”);.

👨‍🎓️ Самоучитель по C# для начинающих. Часть 1: установите среду разработки и освойте основы языка за 30 минут

Запустим приложение, нажав на чёрную стрелку или комбинацию клавиш Option+Command+Enter.

Структура программы

В предыдущем разделе, мы создали простейшее приложение, которое выводит строку Hello World! и запустили на различных операционных системах. Рассмотрим подробнее структуру программы в файле Program.cs.

        using System; 

namespace FirstApp
{
    /*Моя первая программа.*/
    class Program
    {
        static void Main(string[] args) // Метод Main - точка входа в приложение
        {
            Console.WriteLine("Hello World!"); // WriteLine - выводит строку
        }
    }
}

    

Разберем построчно исходный код:

  • using System – подключает пространство имен System с библиотекой классов.
  • namespace FirstApp является контейнером для классов в рамках приложения, объединяя их в одно пространство имён.
  • Фигурные скобки {} обозначают начало и конец блока кода.
  • class Program – класс с данными и методами, который привносит функциональность в программу. Каждая строка исполняемого кода на C# должна находиться внутри класса. В нашем случае класс имеет имя Program.
  • Код внутри метода Main будет выполняться первым, этот метод является точкой входа в приложение.
  • Console – класс пространства имен System, имеющий метод WriteLine(), который используется для вывода текста. У нас будет выведена строка «Hello World!».
  • Если опустить строку using System, то придется писать System.Console.WriteLine() для вывода текста.

Примечание

Каждый оператор C # заканчивается точкой с запятой ; , к тому же язык чувствителен к регистру: «MyClass» и «myclass» имеют разное значение.

  • Ещё одним немаловажным блоком кода являются комментарии: они бывают многострочными и однострочными, а задаются символами /**/ и // соответственно.

Переменные и типы данных

Переменные служат для хранения данных и операций над ними. Объявлять переменные можно используя классический синтаксис: тип имя = значение;

        int number = 10;
    

Поддерживается интерференция типов: компилятор C# способен автоматически определять тип переменной, используя ключевое слово var.

        var number = 9;
    

Для объявления констант добавляется ключевое слово const и их значения остаются фиксированными во время выполнения программы.

        const int sizeArr = 10;
    

C# имеет следующие базовые типы: int, double, string, char, bool, float, long. Остановимся на базовых типах для простоты понимания фундамента языка.

Консольный ввод и вывод

Используя Console.WriteLine можно вывести информацию или значения переменных на экран.

        string manufactuer = "Tesla";
string model = "Model S";
int price = 6390000;

Console.WriteLine("Электромобили наше будущее!");
Console.WriteLine(manufactuer + " - " + model);
Console.WriteLine("Цена: " + price);
    

После вывода каждой строки перемещаемся на новую строку, а для вывода в одну строку используется метод Console.Write().

Зачастую необходимо вывести значения с форматированием строки для более наглядного результата.

        Console.Write($"Производитель: {manufactuer}  Модель: {model}  Цена: {price} руб");
    

В консоль будет выведена уже форматированная строка.

Для ввода информации с клавиатуры в C# используется метод Console.ReadLine().

        Console.Write("Как вас зовут? ");
string nane = Console.ReadLine();
Console.WriteLine("Ваше имя: " + nane);
    

Этот метод считывает строку в консоли и возвращает её в приложение. Для ввода значений других типов преобразуем строку используя Convert.ToType(), где Type необходимый нам тип.

        Console.Write("Введите модель авто: ");
string model = Console.ReadLine();

Console.Write("Введите вес: ");
double massa = Convert.ToDouble(Console.ReadLine());

Console.Write("Введите кол.дверей: ");
int doorCount = Convert.ToInt32(Console.ReadLine());

Console.Write("Введите цену: ");
decimal price = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine($"Модель:{model}  Вес:{massa}т  Дверей:{doorCount} Цена: {price}Р");

    

Для приведения строк вес, количество дверей и цена в нужный нам тип, используем Convert.ToDouble(), Convert.ToInt32() и Convert.ToDecimal() соответственно. Подробнее о приведении типов в разделе Преобразовании типов.

Базовые операторы

Для операций над переменными и их значениями используются специальные операторы – арифметические, присваивания, сравнения и логические.

Арифметические операторы

Операторы +, -, *, /, %, ++, — используются в основном для работы с числовыми переменными, объектами.

        int a = 8, b = 4;

Console.WriteLine($"a + b = {a + b}");
Console.WriteLine($"a - b = {a - b}");
Console.WriteLine($"a * b = {a * b}");
Console.WriteLine($"a / b = {a / b}");
Console.WriteLine($"a % b = {a % b}");

    

По каждой операции будет выведен соответствующий результат.

Операторы присваивания

Операторы присваивания используются, чтобы задать значения переменных.

        int a = 8;

a += 2;
a -= 2;
a *= 2;
a /= 2;
a %= 2;

    

Операторы сравнения

Операторы сравнения используются для сравнения двух значений и возвращают значение типа bool (логическое значение).

        bool condition1 = a == b;
bool condition2 = a != b;
bool condition3 = a > b;
bool condition4 = a < b;
bool condition5 = a >= b;
bool condition6 = a <= b;

    

Логические операторы

Здесь все стандартно и привычно, если вы имели дело с C-подобными языками.

        int a = 4;
Console.WriteLine(a > 2 && a < 5);
Console.WriteLine(a > 1 || a < 3);
Console.WriteLine(!(a > 2 && a < 5));

    

В языке C# существуют и другие операторы, рассмотрим их позже по мере необходимости.

Управление потоком

В программировании задачи и алгоритмы часто требуют принятия решений и выполнение кода при определенных условиях (conditions).

  • Если необходимо выполнить код по условию, для этого используются инструкции: if, else, ternary operation, switch.
  • Для многократного выполнения инструкций применяются циклы: for, foreach, while, break-continue.

If…else

Инструкция if…else в стандартной форме выглядит так:

        if (condition)
{
    // 
}
else
{
    //
}

    

По условию поток передается определенным блокам кода. При истинности условия (true), выполняется код в if {…}, а когда условие ложно (false), выполняется код в else {…}.

        string name = Console.ReadLine();

if(name != "")
{
    Console.WriteLine(name);
}
else
{
    name = "Антон";
    Console.WriteLine(name);
}

    

if…

Если требуется выполнить только условие, то else можно опустить.

        int x = 0;

if(x == 0)
{
    x = 5;
}

    

Как видно из примера, переменная получает новое значение, если она равна нулю.

if…else if…else

Можно добавить if после else и комбинировать их:

        string modelPhone = Console.ReadLine();
string manufactPhone = "";

if (modelPhone == "IPhone X")
{
    manufactPhone = "Apple";
    Console.WriteLine(manufactPhone + " " + modelPhone);
}
else if (modelPhone == "Honor 10")
{
    manufactPhone = "Huawei";
    Console.WriteLine(manufactPhone + " " + modelPhone);
}
else
{
    Console.WriteLine("No phone!");
}

    

Тернарная операция (Ternary operation)

Существует вариант if…else, известный как тернарный оператор, поскольку он состоит из трех операндов. Его часто используют для замены простых операторов if…else.

        int a = 10;
int b = 7;

int c = a < b ? (a - b) : (a + b);
Console.WriteLine(c);

    

switch

Для выбора одного из множества блоков кода используется оператор switch.

        int x = Convert.ToInt32(Console.ReadLine());

switch (x)
{
      case 1:
           Console.WriteLine("One");
           break;
     case 2:
          Console.WriteLine("Two");
          break;
    default:
          Console.WriteLine("Other number!");
          break;
    }
}

    

Шаблон, с которым сравнивается значение x определяется ключевым словом case. Далее по успешному совпадению с шаблоном, выполняется соответствующий блок кода. Если совпадений нет, то исполняется блок default для остальных случаев.

Цикл for

Цикл for в основном используется для перебора значений по условию с одновременным выполнением операций и имеет вид:

        for(start; condition; step) 
{
       // блок выполняемого кода
}

    

Рассмотрим работу цикла на примере вычисления таблицы умножения.

        for(int i = 1; i < 10; i++)
{
    Console.WriteLine($"{i} * {i} = {i * i}");
}

    

Цикл начинает выполняться со значения переменной i = 1 до 9, увеличивая её на единицу i++ (инкремент), каждая итерация вычисляет умножение числа само на себя, в итоге выводится таблица умножения.

Предлагаю поэкспериментировать самостоятельно с разными условиями цикла.

Цикл foreach

Также существует цикл foreach, который используется исключительно для циклического перебора элементов массива (смотрим раздел Массивы):

        foreach (type variable in array) 
{
  // блок выполняемого кода
}

    

Рассмотрим такой случай, когда необходимо перебрать символы строки.

        string str_hello = "Hello World!";

foreach(char ch in str_hello)
{
    Console.WriteLine(ch);
}

    

Строка представляет собой массив символов, используя переменную char ch, цикл перебирает и выводит все символы строки.

Цикл while

Цикл while выполняет перебор, пока заданное условие истинно и имеет такой синтаксис:

        while (condition) 
{
  // блок выполняемого кода
}

    

Таблица умножения в этом цикле, реализуется также просто.

        int n = 1;

while(n < 10)
{
    Console.WriteLine($"{n}*{n} = {n*n}");
    n++;
}

    

Цикл do / while ещё вариант цикла while, он выполняет блок кода один раз, прежде чем проверить истинность условия, а затем повторяет итерации, пока условие истинно. Синтаксис такого цикла выглядит так:

        do 
{
  // блок выполняемого кода
}
while (condition);

    

В качестве примера рассмотрим вычисление суммы чисел отличных от нуля, если вводится 0, то цикл завершается и выводится сумма.

        int n; 
int sum = 0; 

do
{ 
     Console.Write("Введите число: ");
     n = Convert.ToInt32(Console.ReadLine());

     sum += n;
} while (n != 0);

    Console.WriteLine("Сумма = {0}", sum);
    

break/continue

Часто возникает ситуация, когда необходимо управлять остановкой/продолжением работы цикла, для этого используются операторы break и continue.

        for (int i = 0; i < 20; i++) 
{
       if(i==10)
       {
           continue;
       }
       if(i==17)
       {
           break;
       }
}
    

Из примера видно, что если i=10, то цикл продолжает работу, если i=17, то оператор break завершает цикл.

Массивы

Переменная является единичной именованной областью памяти, но как быть, если требуется несколько таких переменных одного типа? Для этого используются одномерные и многомерные массивы

Одномерные массивы

Одномерный массив состоит из однотипных N-элементов и синтаксис его объявления следующий:

        type [] nameArr;
    

Для использования массива, необходимо задать его размер, делаем так:

        type [] nameArr = new type [N];
    

Оператор new создает объект массива из N-элементов, также C# умеет автоматически подсчитать длину массива, если он проинициализирован. Например, если нам нужно создать массив, хранящий модели IPhone, при объявлении мы сразу инициализируем его.

        string[] phones = {"IPhone 6S", "IPhone 8", "IPhone X", "IPhone 12 Pro"};

    

Также можно создать массив с числами, предлагаю поэкспериментировать самостоятельно.

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

        string[] phones = {"IPhone 6S", "IPhone 8", "IPhone X", "IPhone 12 Pro"};

Console.WriteLine(phones[0]);
Console.WriteLine(phones[3]);

for(int i = 0; i < phones.Length; i++)
{
    Console.WriteLine($"[{i}] = {phones[i]}");
}

    

По индексам 0 и 3, будут выведены первый и последний элементы массива, в цикле перебираются и выводятся все его элементы. Если нужно изменить элемент массива, это делается также с использованием индекса.

Например, если вместо IPhone X нужно внести IPhone 11, то по индексу 2 просто изменяем значение.

        string[] phones = {"IPhone 6S", "IPhone 8", "IPhone X", "IPhone 12 Pro"};

for (int i = 0; i < phones.Length; i++)
 {
      if (i == 2)
      {
          phones[i] = "IPhone 11";
      }
      Console.WriteLine($"[{i}] = {phones[i]}");
}

    

В результате выполнения кода будет выведен обновленный массив.

Многомерные массивы

На практике при разработке программных систем данные чаще всего представляют собой таблицы, что никак не соответствует одномерным массивам.

Двумерные и N-мерные массивы позволяют хранить и обрабатывать многомерные данные. Синтаксис объявления таких массивов следующий:

        type[,] arrName;

    

Запятая в фигурных скобках указывает на многомерность массива, а его размер задается так:

type[,] arrName = new type[N, M];

Например, у нас имеются две квадратных матрицы и необходимо вычислить их произведение.

        int[,] MatrixA = new int[3,3] { {1, 2, 3}, {4, 5, 6}, {7,  8, 9} };
int[,] MatrixB = new int[3, 3] { { 3, 2, 1 }, { 6, 5, 4 }, { 9, 8, 7 } };
int[,] resultMatrix = new int[3, 3];

for(int i = 0; i < 3; i++)
{
    for(int j = 0; j < 3; j++)
    {
        resultMatrix[i, j] = MatrixA[i, j] * MatrixB[i, j];
        Console.Write(resultMatrix[i, j] + " ");
    }
        Console.WriteLine("");
}

    

Как видно из примера, мы создали два массива размером 3х3 с числами результирующий массив – resultMatrix. Для прохода по столбцам и строкам массивов, используются два цикла for.

На этом с массивами заканчиваем и более подробно поговорим о них и структурах данных в следующих частях.

Методы (функции)

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

В нашей первой программе имеется пользовательский метод Main() – главный метод, а методы WriteLine() и ReadLine() являются библиотечными.

Метод – это блок кода, который выполняет определённые задачи и запускается только при его вызове.

Методы бывают с параметрами и без параметров, то есть могут принимать или не принимать данные, а также возвращать результат или только выполнять действия. Объявление метода выглядит следующим образом:

static type MethodName() {

........

}

Где MethodName () – это имя метода, а static означает, что метод принадлежит классу Program, а не объекту класса Program.

Об объектах и о том, как получить доступ к методам через объекты мы узнаем в следующей части цикла.

void означает, что этот метод не имеет возвращаемого значения.

void-методы

Рассмотрим пример создания и использования невозвращаемого метода без параметров и с параметрами.

        static void Main(string[] args) // Метод Main - точка входа в приложение
{
	string name = “Michael”;

        Hello();
        AreaQvadrata(a);
}

static void Hello()
{
      Console.WriteLine("Hello Method!");
}

static void HelloName(string input)
{
      Console.WriteLine("Hello, " + input);
}

    

Методы Hello() и HelloName(string input) вызываются в основном методе Main(), первый без параметров, а второй принимает строку и выводит уже Hello, Name.

return-методы

Методы с возвращаемым значением, как правило объявляются с указанием его типа. Рассмотрим пример вычисления суммы и произведения чисел.

        static void Main(string[] args) // Метод Main - точка входа в приложение
{
     int a = 4, b = 5;

     int res = Sum(a, b);
     Console.WriteLine(res);

}

 static int Sum(int a, int b)
 {
    return a + b;
 }

    

Метод Sum получает в качестве параметров 2 числа и с помощью оператора return возвращает их сумму.

***

На этом мы завершаем первую часть цикла по основам C#. В следующих выпусках самоучителя разберем более сложные темы. Удачи в освоении одного из популярных языков программирования!

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 и 8) мы получили два разных сообщения. А все потому, что значение нашей 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.

Понравилась статья? Поделить с друзьями:
  • Как написать ковролин или ковролин
  • Как написать клятву на свадьбу жениху
  • Как написать код кириллицей на телефоне
  • Как написать коала
  • Как написать ключевые слова на авито