Си шарп язык программирования: Обзор языка C# — руководство по C# | Microsoft Docs

Содержание

Знакомство с C#: интерактивные руководства

  • Чтение занимает 2 мин

В этой статье

Приветствуем вас в ознакомительном разделе руководств по C#.Welcome to the introduction to C# tutorials. Занятия начинаются с интерактивного кода, который можно запускать в браузере.These lessons start with interactive code that you can run in your browser. Прежде чем приступить к интерактивным урокам, вы можете ознакомиться с основами C#, просмотрев серию видеороликов «C# для начинающих».You can learn the basics of C# from the C# 101 video series before starting these interactive lessons.

В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#.The first lessons explain C# concepts using small snippets of code. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения.You’ll learn the basics of C# syntax and how to work with data types like strings, numbers, and booleans. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код.It’s all interactive, and you’ll be writing and running code within minutes. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#.These first lessons assume no prior knowledge of programming or the C# language.

Эти руководства можно проходить в разных средах.You can try these tutorials in different environments. В них описываются одни и те же основные понятия.The concepts you’ll learn are the same. Различие в том, где именно вы будете работать.The difference is which experience you prefer:

Все ознакомительные руководства, в которых используется пример приложения «Hello World», можно проходить в веб-браузере или в локальной среде разработки.All the introductory tutorials following the Hello World lesson are available using the online browser experience or in your own local development environment. В конце каждого руководства вам предлагается на выбор возможность пройти следующее занятие в браузере или на локальном компьютере.At the end of each tutorial, you decide if you want to continue with the next lesson online or on your own machine. Чтобы настроить среду и продолжить изучение следующего руководства на компьютере, можно воспользоваться соответствующими ссылками.There are links to help you set up your environment and continue with the next tutorial on your machine.

В руководстве Hello World вы создадите самую простую программу на C#.In the Hello world tutorial, you’ll create the most basic C# program. Вы ознакомитесь с типом

string и способами работы с текстом.You’ll explore the string type and how to work with text. Можно также использовать схему обучения в Microsoft Learn или Jupyter в проекте Binder.You can also use the path on Microsoft Learn or Jupyter on Binder.

Из руководства Числа в C# вы узнаете, как на компьютере хранятся числа и как выполнять вычисления с разными числовыми типами.In the Numbers in C# tutorial, you’ll learn how computers store numbers and how to perform calculations with different numeric types. Вы ознакомитесь с основами округления и научитесь выполнять математические вычисления с помощью C#.You’ll learn the basics of rounding, and how to perform mathematical calculations using C#. Это руководство можно изучить, используя локальный компьютер.This tutorial is also available to run locally on your machine.

В этом руководстве предполагается, что вы уже прошли занятие Hello World.This tutorial assumes that you’ve finished the Hello world lesson.

В руководстве Ветви и циклы представлены общие принципы организации ветвления кода в зависимости от значений, хранящихся в переменных.The Branches and loops tutorial teaches the basics of selecting different paths of code execution based on the values stored in variables. Вы узнаете, что такое поток управления, являющийся основой принятия решений и выбора различных действий в программах.You’ll learn the basics of control flow, which is the basis of how programs make decisions and choose different actions. Это руководство можно изучить, используя локальный компьютер.This tutorial is also available to run locally on your machine.

В этом руководстве предполагается, что вы уже прошли занятия Hello World и Числа в C#.This tutorial assumes that you’ve finished the Hello world and Numbers in C# lessons.

Занятие Коллекция списков содержит обзор типа «Коллекция списков», в котором хранятся последовательности данных.The List collection lesson gives you a tour of the List collection type that stores sequences of data. Вы узнаете, как добавлять и удалять элементы, выполнять их поиск и сортировать списки.You’ll learn how to add and remove items, search for items, and sort the lists. Вы ознакомитесь с различными типами списков.You’ll explore different kinds of lists. Это руководство можно изучить, используя локальный компьютер.This tutorial is also available to run locally on your machine.

В этом руководстве предполагается, что вы уже прошли перечисленные выше занятия.This tutorial assumes that you’ve finished the lessons listed above.

Это заключительное руководство можно изучить, используя только локальную среду разработки с .NET Core.This final tutorial is only available to run on your machine, using your own local development environment and .NET Core. Вы создадите консольное приложение и изучите основные объектно-ориентированные функции языка C#.You’ll build a console application and see the basic object-oriented features that are part of the C# language.

В этом руководстве предполагается, что вы уже изучили ознакомительные онлайн-руководства и установили пакет SDK для .NET Core и Visual Studio Code.This tutorial assumes you’ve finished the online introductory tutorials, and you’ve installed .NET Core SDK and Visual Studio Code.

Руководство по программированию на C#

  • Чтение занимает 2 мин

В этой статье

Этот раздел содержит подробные сведения о ключевых функциях языка C# и возможностях, которые платформа .NET предоставляет для C#.This section provides detailed information on key C# language features and features accessible to C# through .NET.

В текстах этого раздела обычно предполагается, что вы уже знакомы с языком C# и общими концепциями программирования.Most of this section assumes that you already know something about C# and general programming concepts. Если вы раньше никогда не программировали или не работали с языком C#, рекомендуем посмотреть руководства Знакомство с C# или Руководство в браузере по .NET, которые не требуют знаний программирования.If you are a complete beginner with programming or with C#, you might want to visit the Introduction to C# Tutorials or .NET In-Browser Tutorial, where no prior programming knowledge is required.

Сведения о конкретных ключевых словах, операторах и директивах препроцессора см. в справочнике по C#.For information about specific keywords, operators, and preprocessor directives, see C# Reference. Сведения о спецификации языка C# размещены в статье Спецификации языка C#.For information about the C# Language Specification, see C# Language Specification.

Разделы о программеProgram sections

Структура программы C#Inside a C# Program

Main() и аргументы командной строкиMain() and Command-Line Arguments

Разделы о языкеLanguage Sections

Инструкции, выражения и операторыStatements, Expressions, and Operators

ТипыTypes

Классы и структурыClasses and Structs

ИнтерфейсыInterfaces

ДелегатыDelegates

МассивыArrays

СтрокиStrings

СвойстваProperties

ИндексаторыIndexers

СобытияEvents

Универсальные шаблоныGenerics

ИтераторыIterators

Выражения запросов LINQLINQ Query Expressions

Пространства именNamespaces

Небезопасный код и указателиUnsafe Code and Pointers

Комментарии XML-документацииXML Documentation Comments

Разделы о платформеPlatform Sections

Домены приложенийApplication Domains

Сборки в .NETAssemblies in .NET

АтрибутыAttributes

КоллекцииCollections

Исключения и обработка исключенийExceptions and Exception Handling

Файловая система и реестр (руководство по программированию на C#)File System and the Registry (C# Programming Guide)

ВзаимодействиеInteroperability

ОтражениеReflection

См. такжеSee also

Для чего нужен язык C#

Вы навер­ня­ка слы­ша­ли о язы­ках про­грам­ми­ро­ва­ния, кото­рые начи­на­ют­ся на «Си»: про­сто «Си», «Си плюс плюс» и «Си шарп». Сей­час хоро­шее вре­мя, что­бы разо­брать­ся, что к чему.

Главное

  • C# — язык про­грам­ми­ро­ва­ния, кото­рый ком­па­ния Мик­ро­софт изна­чаль­но дела­ла для сво­их про­ек­тов.
  • Назва­ние чита­ет­ся как «си-шарп».
  • Мно­гие дума­ют, что это отдель­ная вер­сия язы­ка С, но на самом деле нет. В C# дей­стви­тель­но есть мно­го кон­струк­ций, похо­жих на С и С++, но точ­но так же в нём мож­но най­ти эле­мен­ты Пас­ка­ля и Java. Это не раз­ви­тие линей­ки С, а новый язык, создан­ный с нуля.
  • C# — объектно-ориентированный язык, а зна­чит, вся тео­рия про клас­сы, объ­ек­ты и насле­до­ва­ния рабо­та­ет и в нём, но с неко­то­ры­ми ого­вор­ка­ми.
  • Спрос на про­грам­ми­стов C# не шкваль­ный, этот язык слож­но назвать мод­ным в 2020 году. Но на нём мож­но делать всё, что нуж­но в 2020-м: от игр и при­ло­же­ний до веб-сервисов.
  • Осо­бен­но хоро­шо он соче­та­ет­ся с эко­си­сте­мой Microsoft.

Игры на DirectX

DirectX — набор ком­по­нен­тов, кото­рые исполь­зу­ют­ся для про­грам­ми­ро­ва­ния трёх­мер­ной гра­фи­ки и рабо­ты со зву­ком и видео. С помо­щью C# мож­но лег­ко под­клю­чить­ся к DirectX и напи­сать свой трёх­мер­ный шутер или любую дру­гую игру. Тех­ни­че­ски это выгля­дит так: C# отве­ча­ет за логи­ку и пове­де­ние игры, а DirectX — за гра­фи­ку и зву­ко­вое сопро­вож­де­ние.


При пра­виль­ном под­хо­де гра­фи­ка DirectX выда­ёт доволь­но реа­ли­стич­ную кар­тин­ку.

Игры на Unity

Unity — это дви­жок для созда­ния дву­мер­ных и трёх­мер­ных игр. Он берёт на себя физи­ку, гра­фи­ку и мно­гие слу­жеб­ные шту­ки, что­бы вы мог­ли сосре­до­то­чить­ся на кон­тен­те и сце­на­рии игры. Всё бы хоро­шо, но без про­грам­ми­ро­ва­ния в Unity всё рав­но не полу­чит­ся, и быва­лые раз­ра­бот­чи­ки реко­мен­ду­ют для Unity выби­рать имен­но C#. Есть и дру­гие вари­ан­ты, напри­мер, соб­ствен­ный язык UnityScript или JavaScript.


Rust — игра, напи­сан­ная на C# и Unity.

Машинное обучение

Так как C# — это про­ект Мик­ро­соф­та, то у него всё в поряд­ке с под­держ­кой и с биб­лио­те­ка­ми. В мире C# биб­лио­те­ки есть прак­ти­че­ски для все­го, в том чис­ле и для рабо­ты с ней­ро­се­тя­ми и машин­ным обу­че­ни­ем — ML.NET.

Это зна­чит, что вы може­те исполь­зо­вать все воз­мож­но­сти ней­ро­нок в при­ло­же­ни­ях и объ­еди­нять их с помо­щью одно­го и того же язы­ка про­грам­ми­ро­ва­ния. А так как C# — муль­ти­плат­фор­мен­ный язык, то машин­ное обу­че­ние мож­но встро­ить прак­ти­че­ски во что угод­но, от мобиль­ных при­ло­же­ний до носи­мой элек­тро­ни­ки.


Рас­по­зна­ва­ние обра­зов мож­но встра­и­вать в любую элек­тро­ни­ку, если вы пише­те на C#.

Игры и программы для разных мобильных платформ

Что­бы один и тот же C#-код рабо­тал на раз­ных плат­фор­мах, исполь­зу­ют Mono и Xamarin — про­дук­ты для кросс-платформенной раз­ра­бот­ки под раз­ные опе­ра­ци­он­ные плат­фор­мы.

Идея такая:

  1. Вы пише­те про­грам­му для одной плат­фор­мы, напри­мер Windows.
  2. Берё­те Mono, загру­жа­е­те туда свой код и выби­ра­е­те новую плат­фор­му — напри­мер iOS.
  3. Mono смот­рит и гово­рит — вот тут нуж­но под­клю­чить дру­гую биб­лио­те­ку, вот здесь немно­го пере­пи­сать код, а это место вооб­ще мож­но уда­лить и напи­сать зано­во, что­бы всё рабо­та­ло.
  4. В ито­ге про­грам­мист не пишет софт с нуля для каж­дой опе­ра­ци­он­ной систе­мы, а пра­вит его так, что­бы он соот­вет­ство­вал её тре­бо­ва­ни­ям.
  5. Это сокра­ща­ет вре­мя раз­ра­бот­ки в несколь­ко раз, пото­му что осно­ва кода одна и та же, а раз­ни­ца толь­ко в дета­лях.

Программы и сервисы для веба

C# мож­но исполь­зо­вать для созда­ния веб-приложений. Рабо­та­ет так:

  1. У вас есть компьютер-сервер, на кото­ром рабо­та­ет сер­вер­ный софт Microsoft.
  2. Сер­вер­ный софт уме­ет испол­нять код на несколь­ких язы­ках, сре­ди них — C#.
  3. Где-то из интер­не­та в этот сер­вер при­ле­та­ет запрос, напри­мер «выдай мне глав­ную стра­ни­цу».
  4. Сер­вер­ный софт ком­по­ну­ет веб-страницу и пуля­ет обрат­но поль­зо­ва­те­лю. Как и из чего ком­по­ну­ет­ся эта стра­ни­ца — это и есть то, что нуж­но раз­ра­бо­тать в веб-приложении.

Тео­ре­ти­че­ски вы може­те напи­сать при­ло­же­ние для п. 2 на любом язы­ке, кото­рый под­дер­жи­ва­ет сер­вер­ные реше­ния Microsoft, в неко­то­рых слу­ча­ях это может быть и PHP. Но экс­пер­ты гово­рят, что для соф­та Microsoft есть смысл писать на их язы­ке C#.

Сра­зу ска­жем: в боль­шин­стве быто­вых и люби­тель­ских про­ек­тов вам будет доста­точ­но даже не при­ло­же­ния на C# (или Python, Ruby или PHP), а уже гото­во­го реше­ния. Напри­мер, если нужен блог, луч­ше запу­стить его на хостин­ге WordPress и про­сто начать им поль­зо­вать­ся. Это не самый быст­рый софт и не самый гиб­кий, но его запуск зай­мёт у вас 15 минут, а не 15 недель.

А вот на слож­ных высо­ко­на­гру­жен­ных сай­тах WordPress уже не потя­нет — нуж­ны дру­гие тех­но­ло­гии. И тут уже тре­бу­ют­ся глу­бо­кие зна­ния: на одном желе­зе и с одним сте­ком тех­но­ло­гий луч­ше все­го будет рабо­тать C#, на дру­гом — PHP, на тре­тьем — Ruby и т. д.

Язык программирования C#: краткий обзор

Язык C#, разработанный компанией Майкрософт, один из самых популярных современных языков программирования. Он востребован на рынке разработки в различных странах, C# применяют при работе с программами для ПК, создании сложных веб-сервисов или мобильных приложений. Появившийся как язык для собственных нужд платформы Microsoft .NET, постепенно этот язык стал очень популярным. А потому мы решили сделать небольшой обзор для тех, кто выбирает, какие инструменты разработки стоит освоить в ближайшее время.

Итак, разработка языка началась в 1998 году, а первая версия увидела свет в 2001. Группой разработчиков руководил известный в профессиональных кругах специалист Андерс Хейлсберг. Новые версии C# выходят сравнительно часто, а текущие доработки, исправление багов и расширение библиотек ведется практически на постоянной основе.

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

Долгое время платформа .NET поставлялась с закрытым ядром, что создавало определенные сложности в разработке и снижало популярность C# в профессиональной среде. Но в ноябре 2014 Майкрософт радикально изменила подход и стала выдавать бесплатные лицензии для Visual Studio уже с открытым исходным кодом для всех наборов инструментов.

Чем интересен C#

Си шарп – действительно интересный инструмент, достойный внимания. Он уверенно занимает высокие позиции в рейтингах востребованных ЯП на рынке труда. Потому имеет смысл изучить его возможности подробнее и понять, для чего и где стоит применять C#.

Поддержка

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

Документация и доступность

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

Гибкость

Инструментарий C# позволяет решать широкий круг задач, язык действительно очень мощный и универсальный. На нем разрабатывают:

  • Приложения для WEB.
  • Различные игровые программы.
  • Приложения платформ Андроид или iOS.
  • Программы для Windows.

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

Сборка мусора

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

Обработка исключений

С помощью этого инструмента можно легко выявлять и обрабатывать ошибки в коде. Способ является структурированным с широким набором функций. При этом важно не злоупотреблять возможностями работы с исключениями, так как при неправильном использовании появляется риск появления «багов».

Единая система типов

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

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

Управление версиями

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

Архитектура платформы (как все это работает)

Для работы приложений на C# необходимо установить и настроить платформу NET Framework. Она поставляется полностью бесплатно, применяется крайне широко, а потому проблем с пользовательскими устройствами обычно не возникает. Платформа встроена в установочный пакет Windows, при необходимости ее также можно скачать и «поставить» отдельно. Существуют версии для Линукс и MAC.

В рамках платформы к обработке исполняемого кода подключается среда CLR – единый объединенный набор библиотек и классов, который был разработан Майкрософт и является реализацией мирового стандарта Common Language Infrastructure (CLI).

После работы компилятора текст программы переводится в промежуточный язык IL, который «понимает» CLI. Работает это так. IL и все необходимые ресурсы, включая строки и рисунки формата BMP, сохраняются на жесткий диск в виде исполняемого файла dll или exe. Из таких файлов с промежуточным кодом формируется сборка приложения, которая включает в себя описание с полной информацией обо всех важных параметрах работы.

Непосредственно при выполнении программы CLR обращается к сборке и производит действия в зависимости от полученных сведений. Если код написан правильно и проходит проверку безопасности системы, производится компиляция из IL в инструкции в машинные команды. Среда CLR попутно выполняет еще много побочных функций:

  1. удаление «программного» мусора;
  2. работа с исключениями;
  3. распределение ресурсов;
  4. контроль типизации;
  5. управление версиями.
  6. Типизация.
  7. Управление версиями.

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

Элементы синтаксиса

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

Заключение

C# на протяжении долгого времени уверенно лидирует в рейтинге лучших и наиболее востребованных на рынке разработки языков. Сначала им заинтересовались только разработчики, которые пишут приложения под Windows. Но в процессе развития C# «научился» работать на Mac, Linux, IoS и Android. А после того, как код платформы открыли для всех желающих, были сняты практически все возможные ограничения в применении C#. В результате язык активно развивается, применяется все шире. Рекомендован к изучению в качестве одного из базовых для разработчиков любого профиля.

Начало работы — руководство по C# | Microsoft Docs

  • Чтение занимает 2 мин

В этой статье

В этом разделе собраны короткие и простые руководства, которые позволяют быстро создать приложение с помощью C# и .NET Core.This section provides short, simple tutorials that let you quickly build an application using C# and .NET Core. Это статьи по началу работы с Visual Studio и Visual Studio Code.There are getting started topics for Visual Studio and Visual Studio Code. Для изучения этих статей требуется некоторый опыт программирования.These articles assume some programming experience. Если вы только начинаете заниматься программированием, рекомендуем поработать с нашими интерактивными вводными руководствами по C# .If you are new to programming, try our introduction to C# interactive tutorials.

Рассматриваются следующие темы:The following topics are available:

  • Основы работы с языком C# и .NET.Introduction to the C# language and .NET

    Содержит общие сведения о языке C# и .NET.Provides an overview of the C# language and .NET.

  • Создание приложения Hello World на C# с помощью .NET Core в Visual StudioCreate a C# Hello World application with .NET Core in Visual Studio

    Visual Studio позволяет писать, компилировать, запускать, отлаживать, профилировать и публиковать приложения с помощью интегрированной среды разработки для Windows и Mac.Visual Studio lets you code, compile, run, debug, profile, and publish your applications from an integrated development environment for Windows or Mac.

    Эта статья предлагает вам создать и выполнить простое приложение Hello World, а затем преобразовать его в более интерактивный вариант.The topic lets you create and run a simple Hello World application, and then modify it to run a slightly more interactive Hello World application. Когда вы завершите создание приложения и выполните его, вы сможете на его примере научиться отлаживать и публиковать приложения, чтобы выполнять их на любой платформе, поддерживаемой .NET Core.Once you’ve finished building and running your application, you can also learn how to debug it and how to publish it so that it can be run on any platform supported by .NET Core.

  • Создание библиотеки классов с помощью C# и .NET Standard в Visual StudioCreate a class library with C# and .NET Standard in Visual Studio

    Библиотека классов позволяет определять типы и члены типов, которые можно вызвать из любого приложения.A class library lets you define types and type members that can be called from another application. В этой статье вы создадите библиотеку классов с единственным методом, который определяет, начинается ли строка с символа верхнего регистра.This topic lets you create a class library with a single method that determines whether a string begins with an uppercase character. Когда вы закончите создавать библиотеку, можно разработать модульный тест и убедиться, что все работает как надо, а затем библиотеку можно сделать доступной для приложений, в которых ее нужно использовать.Once you’ve finished building the library, you can develop a unit test to ensure that it works as expected, and then you can make it available to applications that want to consume it.

  • Начало работы с C# и Visual Studio CodeGet started with C# and Visual Studio Code

    Visual Studio Code — это бесплатный редактор кода, оптимизированный для сборки и отладки современных веб-приложений и облачных приложений.Visual Studio Code is a free code editor optimized for building and debugging modern web and cloud applications. Он поддерживает технологию IntelliSense и доступен для Linux, macOS и Windows.It supports IntelliSense and is available for Linux, macOS, and Windows.

    В этой статье показано, как создать и выполнить простое приложения Hello World с помощью Visual Studio Code и .NET Core.This topic shows you how to create and run a simple Hello World application with Visual Studio Code and .NET Core.

  • Руководство по программированию на C#C# Programming Guide

    Содержит сведения о понятиях программирования C# и описание выполнения различных задач на C#.Provides information about C# programming concepts, and describes how to perform various tasks in C#.

  • Справочник по C#C# Reference

    Содержит подробные справочные сведения о ключевых словах, операторах, директивах препроцессора, параметрах компилятора и ошибках и предупреждениях компилятора в среде C#.Provides detailed reference information about C# keywords, operators, preprocessor directives, compiler options, and compiler errors and warnings.

  • Пошаговые руководстваWalkthroughs

    Приведены ссылки на пошаговые руководства по написанию программ, использующих C#, и дано краткое описание каждого пошагового руководства.Provides links to programming walkthroughs that use C# and a brief description of each walkthrough.

См. такжеSee also

Учебник по языку С# 8.0 и платформе .NET Core 3

Последнее обновление: 16.10.2019

  1. Глава 1. Введение в C#

    1. Язык C# и платформа .NET

    2. Начало работы с Visual Studio. Первая программа

    3. Компиляция в командной строке с .NET Core CLI

    4. Установка версии языка

  2. Глава 2. Основы программирования на C#

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

    2. Переменные

    3. Литералы

    4. Типы данных

    5. Консольный ввод-вывод

    6. Арифметические операции

    7. Поразрядные операции

    8. Операции присваивания

    9. Преобразования базовых типов данных

    10. Условные выражения

    11. Условные конструкции

    12. Циклы

    13. Массивы

    14. Программа сортировки массива

    15. Методы

    16. Параметры методов

    17. Передача параметров по ссылке и значению. Выходные параметры

    18. Массив параметров и ключевое слово params

    19. Область видимости (контекст) переменных

    20. Рекурсивные функции

    21. Перечисления enum

    22. Кортежи

  3. Глава 3. Классы. Объектно-ориентированное программирование

    1. Классы и объекты

    2. Структуры

    3. Типы значений и ссылочные типы

    4. Пространства имен, псевдонимы и статический импорт

    5. Создание библиотеки классов

    6. Модификаторы доступа

    7. Свойства

    8. Перегрузка методов

    9. Статические члены и модификатор static

    10. Константы, поля и структуры для чтения

    11. Перегрузка операторов

    12. Значение null

    13. Индексаторы

    14. Наследование

    15. Преобразование типов

    16. Перегрузка операций преобразования типов

    17. Виртуальные методы и свойства

    18. Сокрытие методов

    19. Различие переопределения и сокрытия методов

    20. Абстрактные классы

    21. Класс System.Object и его методы

    22. Обобщенные типы

    23. Ограничения обобщений

    24. Наследование обобщенных типов

  4. Глава 4. Обработка исключений

    1. Конструкция try..catch..finally

    2. Блок catch и фильтры исключений

    3. Типы исключений. Класс Exception

    4. Создание классов исключений

    5. Поиск блока catch при обработке исключений

    6. Генерация исключения и оператор throw

  5. Глава 5. Делегаты, события и лямбды

    1. Делегаты

    2. Применение делегатов

    3. Анонимные методы

    4. Лямбды

    5. События

    6. Ковариантность и контравариантность делегатов

    7. Делегаты Action, Predicate и Func

  6. Глава 6. Интерфейсы

    1. Определение интерфейсов

    2. Применение интерфейсов

    3. Явная реализация интерфейсов

    4. Реализация интерфейсов в базовых и производных классах

    5. Наследование интерфейсов

    6. Интерфейсы в обобщениях

    7. Копирование объектов. Интерфейс ICloneable

    8. Сортировка объектов. Интерфейс IComparable

    9. Ковариантность и контравариантность обобщенных интерфейсов

  7. Глава 7. Дополнительные возможности ООП в C#

    1. Методы расширения

    2. Частичные классы и методы

    3. Анонимные типы

    4. Локальные функции

    5. Pattern matching

    6. Деконструкторы

    7. Паттерны switch

    8. Nullable-типы

    9. Переменные-ссылки и возвращение ссылки

  8. Глава 8. Объектно-ориентированное программирование. Практика

    1. Создание проекта библиотеки классов

    2. Создание классов. Часть 1

    3. Создание классов. Часть 2

    4. Создание главного проекта

  9. Глава 9. Коллекции

    1. ArrayList

    2. Список List<T>

    3. Двухсвязный список LinkedList<T>

    4. Очередь Queue<T>

    5. Стек Stack<T>

    6. Словарь Dictionary<T, V>

    7. Класс ObservableCollection

    8. Интерфейсы IEnumerable и IEnumerator

    9. Итераторы и оператор yield

  10. Глава 10. Работа со строками

    1. Строки и класс System.String

    2. Операции со строками

    3. Форматирование и интерполяция строк

    4. Класс StringBuilder

    5. Регулярные выражения

  11. Глава 11. Работа с датами и временем

    1. Структура DateTime

    2. Форматирование дат и времени

  12. Глава 12. Дополнительные классы и структуры .NET

    1. Отложенная инициализация и тип Lazy

    2. Математические вычисления и класс Math

    3. Преобразование типов и класс Convert

    4. Класс Array и массивы

    5. Span

    6. Индексы и диапазоны

  13. Глава 13. Многопоточность

    1. Введение в многопоточность. Класс Thread

    2. Создание потоков. Делегат ThreadStart

    3. Потоки с параметрами и ParameterizedThreadStart

    4. Синхронизация потоков

    5. Мониторы

    6. Класс AutoResetEvent

    7. Мьютексы

    8. Семафоры

    9. Таймеры

  14. Глава 14. Параллельное программирование и библиотека TPL

    1. Задачи и класс Task

    2. Работа с классом Task

    3. Задачи продолжения

    4. Класс Parallel

    5. Отмена задач и параллельных операций. CancellationToken

  15. Глава 15. Aсинхронное программирование. Task-based Asynchronous Pattern

    1. Асинхронные методы, async и await

    2. Возвращение результата из асинхронного метода

    3. Последовательный и параллельный вызов асинхронных операций

    4. Обработка ошибок в асинхронных методах

    5. Отмена асинхронных операций

    6. Асинхронные стримы

  16. Глава 16. LINQ

    1. Основы LINQ

    2. Фильтрация выборки и проекция

    3. Сортировка

    4. Объединение, пересечение и разность коллекций

    5. Агрегатные операции

    6. Методы Skip и Take

    7. Группировка

    8. Соединение коллекций. Метод Join, GroupJoin и Zip

    9. Методы All и Any

    10. Отложенное и немедленное выполнение LINQ

    11. Делегаты и анонимные методы в запросах LINQ

  17. Глава 17. Parallel LINQ

    1. Введение в Parallel LINQ. Метод AsParallel

    2. Метод AsOrdered

    3. Обработка ошибок и отмена параллельных операции

  18. Глава 18. Рефлексия

    1. Введение в рефлексию. Класс System.Type

    2. Применение рефлексии и исследование типов

    3. Динамическая загрузка сборок и позднее связывание

    4. Атрибуты в .NET

  19. Глава 19. Dynamic Language Runtime

    1. DLR в C#. Ключевое слово dynamic

    2. DynamicObject и ExpandoObject

    3. Использование IronPython в .NET

  20. Глава 20. Сборка мусора, управление памятью и указатели

    1. Сборщик мусора в C#

    2. Финализируемые объекты. Метод Dispose

    3. Конструкция using

    4. Указатели

    5. Указатели на структуры, члены классов и массивы

  21. Глава 21. Работа с потоками и файловой системой

    1. Работа с дисками

    2. Работа с каталогами

    3. Работа с файлами. Классы File и FileInfo

    4. FileStream. Чтение и запись файла

    5. Чтение и запись текстовых файлов. StreamReader и StreamWriter

    6. Бинарные файлы. BinaryWriter и BinaryReader

    7. Бинарная сериализация. BinaryFormatter

    8. Архивация и сжатие файлов

  22. Глава 22. Работа с JSON

    1. Сериализация в JSON. JsonSerializer

  23. Глава 23. Работа с XML в C#

    1. XML-Документы

    2. Работа с XML с помощью классов System.Xml

    3. Изменение XML-документа

    4. XPath

    5. Linq to Xml. Создание Xml-документа

    6. Выборка элементов в LINQ to XML

    7. Изменение XML-документа в LINQ to XML

    8. Сериализация в XML. XmlSerializer

  24. Глава 24. Процессы и домены приложения

    1. Процессы

    2. Домены приложений

    3. AssemblyLoadContext и динамическая загрузка и выгрузка сборок

  25. Глава 25. Валидация модели

    1. Основы валидации модели

    2. Атрибуты валидации

    3. Создание своих атрибутов валидации

    4. Самовалидация модели

  26. Вопросы для самопроверки

  27. Создание графических приложений с C# в Windows Forms

Справочник по C# | Microsoft Docs

  • Чтение занимает 2 мин

В этой статье

Этот раздел содержит подробные справочные сведения о ключевых словах, операторах, специальных символах, директивах препроцессора, параметрах компилятора и ошибках и предупреждениях компилятора в среде C#.This section provides reference material about C# keywords, operators, special characters, preprocessor directives, compiler options, and compiler errors and warnings.

Содержание разделаIn this section

Ключевые слова в C#C# Keywords
Ссылки на сведения о ключевых словах и синтаксисе языка C#.Provides links to information about C# keywords and syntax.

Операторы в C#C# Operators
Ссылки на сведения об операторах и синтаксисе языка C#.Provides links to information about C# operators and syntax.

Специальные символы в C#C# Special Characters
Предоставляет ссылки на сведения о специальных контекстные символов в C# и их использовании.Provides links to information about special contextual characters in C# and their usage.

Директивы препроцессора C#C# Preprocessor Directives
Ссылки на сведения о командах компилятора для внедрения в исходном коде C#.Provides links to information about compiler commands for embedding in C# source code.

Параметры компилятора C# C# Compiler Options
Сведения о параметрах компилятора и их использовании.Includes information about compiler options and how to use them.

Ошибки компилятора C#C# Compiler Errors
Фрагменты кода, демонстрирующие причины и способы исправления ошибок и предупреждений компилятора C#.Includes code snippets that demonstrate the cause and correction of C# compiler errors and warnings.

Спецификация языка C#C# Language Specification
Спецификация языка C# версии 6.0The C# 6.0 language specification. Это черновой вариант для языка C# версии 6.0.This is a draft proposal for the C# 6.0 language. Этот документ будет пересмотрен в рамках работы с комитетом по стандартам C# ECMA.This document will be refined through work with the ECMA C# standards committee. Версия 5.0 была выпущена в декабре 2017 г. как стандартный 5-й выпуск ECMA-334.Version 5.0 has been released in December 2017 as the Standard ECMA-334 5th Edition document.

Возможности, которые были реализованы в языке C# версий более поздних чем 6.0, представлены в предложениях по спецификации языка.The features that have been implemented in C# versions after 6.0 are represented in language specification proposals. В этих документах описываются изменения спецификации языка, связанные с добавлением новых функций.These documents describe the deltas to the language spec in order to add these new features. Это черновой вариант для формы.These are in draft proposal form. Эти спецификации будут улучшены и отправлены в комитет по стандартам ECMA для официального анализа и внедрения в будущую версию стандарта C#.These specifications will be refined and submitted to the ECMA standards committee for formal review and incorporation into a future version of the C# Standard.

Предложения по спецификации C# 7.0C# 7.0 Specification Proposals
В версии C# 7.0 реализован ряд новых возможностей,There are a number of new features implemented in C# 7.0. включая сопоставления шаблонов, локальные функции, объявления выходной переменной, выражения throw, двоичные литералы и разделители между цифрами.They include pattern matching, local functions, out variable declarations, throw expressions, binary literals, and digit separators. Эта папка содержит спецификации для каждой из этих функций.This folder contains the specifications for each of those features.

Предложения по спецификации C# 7.1C# 7.1 Specification Proposals
В версию C# 7.1 добавлено несколько новых возможностей.There are new features added in C# 7.1. Можно написать метод Main, возвращающий Task или Task<int>.First, you can write a Main method that returns Task or Task<int>. Это позволяет добавлять модификатор async в метод Main.This enables you to add the async modifier to Main. Выражение default можно использовать без типа в тех расположениях, где возможен вывод типа.The default expression can be used without a type in locations where the type can be inferred. Кроме того, появилось еще одно дополнительное усовершенствование: вывод имен элементов кортежа.Also, tuple member names can be inferred. И, наконец, сопоставление шаблонов можно использовать с универсальными шаблонами.Finally, pattern matching can be used with generics.

Предложения по спецификации C# 7.2C# 7.2 Specification Proposals
В версию C#7.2 добавлен ряд простых функций.C# 7.2 added a number of small features. С помощью ключевого слова in можно передавать аргументы по ссылке только для чтения.You can pass arguments by readonly reference using the in keyword. Внесен ряд незначительных изменений для поддержки безопасности во время компиляции для Span и связанных типов.There are a number of low-level changes to support compile-time safety for Span and related types. В некоторых ситуациях можно использовать именованные аргументы, если следующие за ними аргументы являются позиционными.You can use named arguments where later arguments are positional, in some situations. Модификатор доступа private protected позволяет указывать, что вызывающие объекты ограничены производными типами, реализованными в той же сборке.The private protected access modifier enables you to specify that callers are limited to derived types implemented in the same assembly. Оператор ?: можно использовать для разрешения в ссылку на переменную.The ?: operator can resolve to a reference to a variable. С помощью разделителя начальных цифр можно форматировать шестнадцатеричные и двоичные числа.You can also format hexadecimal and binary numbers using a leading digit separator.

Предложения по спецификации C# 7.3C# 7.3 Specification Proposals
Версия C# 7.3 является очередным промежуточным выпуском, содержащим несколько небольших обновлений.C# 7.3 is another point release that includes several small updates. К параметрам универсальных типов можно применять новые ограничения.You can use new constraints on generic type parameters. Другие изменения упрощают работу с полями fixed, включая использование выделений stackalloc.Other changes make it easier to work with fixed fields, including using stackalloc allocations. Локальные переменные, объявленные с ключевым словом ref, можно переназначать для указания на новое хранилище.Local variables declared with the ref keyword may be reassigned to refer to new storage. Можно применять атрибуты к автоматически реализуемым свойствам, предназначенным для созданного компилятором резервного поля.You can place attributes on auto-implemented properties that target the compiler-generated backing field. Переменные выражений можно использовать в инициализаторах.Expression variables can be used in initializers. Кортежи можно проверять на равенство (или неравенство).Tuples can be compared for equality (or inequality). Кроме того, были внесены некоторые улучшения в разрешение перегрузки.There have also been some improvements to overload resolution.

Предложения по спецификации C# 8.0C# 8.0 Specification Proposals
Версия C# 8.0 доступна для .NET Core 3.0.C# 8.0 is available with .NET Core 3.0. В число возможностей входят использование ссылочных типов, допускающих значения NULL, рекурсивное сопоставление шаблонов, методы интерфейса по умолчанию, асинхронные потоки, диапазоны и индексы, использование шаблонов и объявлений using, назначение объединения со значением NULL и члены экземпляров с доступом только на чтение.The features include nullable reference types, recursive pattern matching, default interface methods, async streams, ranges and indexes, pattern based using and using declarations, null coalescing assignment, and readonly instance members.

Использование среды разработки Visual Studio для C#Using the Visual Studio Development Environment for C#
Ссылки на концептуальные разделы и разделы задач, описывающие интегрированную среду разработки и редактор.Provides links to conceptual and task topics that describe the IDE and Editor.

Руководство по программированию на C#C# Programming Guide
Сведения об использовании языка программирования C#.Includes information about how to use the C# programming language.

Онлайн-репетиторы по программированию на C Sharp — Бесплатная пробная версия

Репетиторы по программированию на C Sharp — Бесплатная пробная версия | Chegg.com

Пропустить навигацию

Как это работает

  1. Задать вопрос
  2. Получить репетитора
  3. Начать урок
  • КАЧЕСТВЕННЫЕ НАУЧНИКИ
  • В НАЛИЧИИ 24/7
  • СТУДЕНТЫ ПЕРВЫЕ

Ни один из наших преподавателей не указал, что они подходят под все ваши фильтры прямо сейчас, но 0 похожих репетиторов сейчас онлайн.Чтобы получить помощь прямо сейчас, Связаться с репетитором , и мы найдем для вас совпадение (обычно 30 секунд или меньше!). Джаянта П.

Государственный инженерный колледж Каляни 1999 — Компьютерные науки и инженерия


Программирование C Sharp — Я работаю преподавателем и доцентом с 2001 года в различных инженерных колледжах Западной Бенгалии.В…

Анмол П.

BITS Pilani 2017 — Магистр наук (с отличием), химия + бакалавр (с отличием), мех …


Программирование C Sharp — Мой педагогический опыт начинается с детства.Моя старшая сестра была моим наставником, а я учил своих младших братьев и сестер. Когда-либо…

Нирун Б.

Индийский институт менеджмента Индор 2014 — Общее руководство


Программирование C Sharp — Во время учебы в инженерии я проводил занятия по информатике.Также я представил свои технические решения в …

Санчита П.

Национальный технологический институт 2016 — Разработка программного обеспечения


Программирование C Sharp — Репетиторство — это работа, полная ответственности и чести.Предмет становится легким или сложным, в зависимости от того, как преподает его …

Приянк С.

Институт технологий и наук Бирла (BITS) — Pilani 2020 — Физика, информатика и механика


Программирование C Sharp — Я буду говорить точно и по делу.Уровень колледжа: я получил опыт репетиторства и интерес, в основном, будучи …

Студенты любят Chegg Tutors

97% * рассмотренных уроков получили положительную оценку
* 97 положительных отзывов уроки программирования C Sharp из последних 100 обзоров.

Джонатан очень помог мне, объяснив, что использовать для домашней работы по программированию на C Sharp.Он осведомлен, быстр, но также ясен в своем …

— Остин

Викас П.

Нет Нет — Информатика в области компьютерных наук


Программирование C Sharp — Я закончил аспирантуру в области компьютерных наук. из Университета DTU, Индия, и закончили мой…

Али Х.

Университет штата Луизиана 2020 — Материаловедение


Программирование C Sharp — Несколько лет опыта преподавания в средних школах и колледжах.Преподавание академических курсов в Университете штата Луизиана.

Студенты любят Chegg Tutors

97% * рассмотренных уроков получили положительную оценку
* 97 положительных отзывов уроки программирования C Sharp из последних 100 обзоров.

Адитья всегда продолжает демонстрировать свою проницательную страсть и знания. Он сделал все возможное, чтобы помочь мне добиться наилучшего результата…

— Джо

«Что такое программирование C Sharp?» по словам наших наставников:

  • C # — отличный язык программирования, разработанный Microsoft, который можно использовать для программирования в среде Windows, а также для разработки веб-сайтов наряду с ASP.СЕТЬ. Он синтаксически похож на Java, но также имеет доступ к мощной платформе .NET Framework. Его можно использовать для разработки в нескольких различных парадигмах программирования, но в первую очередь это ООП. Если вы хотите разрабатывать для различных платформ Windows, это отличный инструмент!

    Ответил Джозеф Р.

  • C # (произносится как «видеть острый») — это язык программирования в Microsoft.NET Suite. Если использовать несколько технических терминов, то C # — это строго типизированный, объектно-ориентированный, управляемый язык программирования. С точки зрения непрофессионала, C # — это в основном то, что происходит, когда вы смешиваете менее пугающие элементы Java и C ++. C # обладает множеством замечательных функций и отлично подойдет вам, если вы заинтересованы в создании таких вещей, как игры, настольное программное обеспечение или серверный код.

    Ответил Итан Р.

Онлайн-репетиторы-профессионалы готовы помочь!

ОТПРАВИТЬ ЗАПРОС

Мы понимаем, что поиск идеального совпадения очень важен.Напишите записку с описанием то, что вы ищете — мы передадим это несколько наших лучших преподавателей, и они свяжутся с вами как можно скорее!

Что-то пошло не так. Мы работаем над тем, чтобы это исправить. А пока вернитесь домой и повторите свой запрос.

Эта страница не загружалась правильно!

Обновление страницы должно решить проблему.

Если проблема не исчезнет, ​​обратитесь в службу поддержки по адресу [email protected]

Ваш запрос на для встречи сейчас успешно доставлен! Что происходит дальше? Ваш запрос на урок отправлен на номер ! Что происходит дальше? .

C-Sharp — Википедия, вольная энциклопедия

Z Wikipedii, wolnej encyklopedii

Przejd do nawigacji Przejdź do wyszukiwania W Wikipedii nie ma jeszcze artykułu o takiej nazwie. Możesz:
  • utworzyć go ,
  • zaproponować, eby inni go napisali,
  • poszukać tekstu «C sharp» w artykułach,
  • poszukać strony o tym tytule na jednym z siostrzanych projektów Wikipedii:
Commons Wikiźródła Wikisłownik Wikicytaty Wikibooks Wikinews
Ródło: „https: // pl.wikipedia.org/wiki/C_sharp » .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa