Си шарп язык программирования: Обзор языка 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 — продукты для кросс-платформенной разработки под разные операционные платформы.
Идея такая:
- Вы пишете программу для одной платформы, например Windows.
- Берёте Mono, загружаете туда свой код и выбираете новую платформу — например iOS.
- Mono смотрит и говорит — вот тут нужно подключить другую библиотеку, вот здесь немного переписать код, а это место вообще можно удалить и написать заново, чтобы всё работало.
- В итоге программист не пишет софт с нуля для каждой операционной системы, а правит его так, чтобы он соответствовал её требованиям.
- Это сокращает время разработки в несколько раз, потому что основа кода одна и та же, а разница только в деталях.
Программы и сервисы для веба
C# можно использовать для создания веб-приложений. Работает так:
- У вас есть компьютер-сервер, на котором работает серверный софт Microsoft.
- Серверный софт умеет исполнять код на нескольких языках, среди них — C#.
- Где-то из интернета в этот сервер прилетает запрос, например «выдай мне главную страницу».
- Серверный софт компонует веб-страницу и пуляет обратно пользователю. Как и из чего компонуется эта страница — это и есть то, что нужно разработать в веб-приложении.
Теоретически вы можете написать приложение для п. 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 попутно выполняет еще много побочных функций:
- удаление «программного» мусора;
- работа с исключениями;
- распределение ресурсов;
- контроль типизации;
- управление версиями.
- Типизация.
- Управление версиями.
В результате код 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. Введение в C#
Язык C# и платформа .NET
Начало работы с Visual Studio. Первая программа
Компиляция в командной строке с .NET Core CLI
Установка версии языка
Глава 2. Основы программирования на C#
Структура программы
Переменные
Литералы
Типы данных
Консольный ввод-вывод
Арифметические операции
Поразрядные операции
Операции присваивания
Преобразования базовых типов данных
Условные выражения
Условные конструкции
Циклы
Массивы
Программа сортировки массива
Методы
Параметры методов
Передача параметров по ссылке и значению. Выходные параметры
Массив параметров и ключевое слово params
Область видимости (контекст) переменных
Рекурсивные функции
Перечисления enum
Кортежи
Глава 3. Классы. Объектно-ориентированное программирование
Классы и объекты
Структуры
Типы значений и ссылочные типы
Пространства имен, псевдонимы и статический импорт
Создание библиотеки классов
Модификаторы доступа
Свойства
Перегрузка методов
Статические члены и модификатор static
Константы, поля и структуры для чтения
Перегрузка операторов
Значение null
Индексаторы
Наследование
Преобразование типов
Перегрузка операций преобразования типов
Виртуальные методы и свойства
Сокрытие методов
Различие переопределения и сокрытия методов
Абстрактные классы
Класс System.Object и его методы
Обобщенные типы
Ограничения обобщений
Наследование обобщенных типов
Глава 4. Обработка исключений
Конструкция try..catch..finally
Блок catch и фильтры исключений
Типы исключений. Класс Exception
Создание классов исключений
Поиск блока catch при обработке исключений
Генерация исключения и оператор throw
Глава 5. Делегаты, события и лямбды
Делегаты
Применение делегатов
Анонимные методы
Лямбды
События
Ковариантность и контравариантность делегатов
Делегаты Action, Predicate и Func
Глава 6. Интерфейсы
Определение интерфейсов
Применение интерфейсов
Явная реализация интерфейсов
Реализация интерфейсов в базовых и производных классах
Наследование интерфейсов
Интерфейсы в обобщениях
Копирование объектов. Интерфейс ICloneable
Сортировка объектов. Интерфейс IComparable
Ковариантность и контравариантность обобщенных интерфейсов
Глава 7. Дополнительные возможности ООП в C#
Методы расширения
Частичные классы и методы
Анонимные типы
Локальные функции
Pattern matching
Деконструкторы
Паттерны switch
Nullable-типы
Переменные-ссылки и возвращение ссылки
Глава 8. Объектно-ориентированное программирование. Практика
Создание проекта библиотеки классов
Создание классов. Часть 1
Создание классов. Часть 2
Создание главного проекта
Глава 9. Коллекции
ArrayList
Список List<T>
Двухсвязный список LinkedList<T>
Очередь Queue<T>
Стек Stack<T>
Словарь Dictionary<T, V>
Класс ObservableCollection
Интерфейсы IEnumerable и IEnumerator
Итераторы и оператор yield
Глава 10. Работа со строками
Строки и класс System.String
Операции со строками
Форматирование и интерполяция строк
Класс StringBuilder
Регулярные выражения
Глава 11. Работа с датами и временем
Структура DateTime
Форматирование дат и времени
Глава 12. Дополнительные классы и структуры .NET
Отложенная инициализация и тип Lazy
Математические вычисления и класс Math
Преобразование типов и класс Convert
Класс Array и массивы
Span
Индексы и диапазоны
Глава 13. Многопоточность
Введение в многопоточность. Класс Thread
Создание потоков. Делегат ThreadStart
Потоки с параметрами и ParameterizedThreadStart
Синхронизация потоков
Мониторы
Класс AutoResetEvent
Мьютексы
Семафоры
Таймеры
Глава 14. Параллельное программирование и библиотека TPL
Задачи и класс Task
Работа с классом Task
Задачи продолжения
Класс Parallel
Отмена задач и параллельных операций. CancellationToken
Глава 15. Aсинхронное программирование. Task-based Asynchronous Pattern
Асинхронные методы, async и await
Возвращение результата из асинхронного метода
Последовательный и параллельный вызов асинхронных операций
Обработка ошибок в асинхронных методах
Отмена асинхронных операций
Асинхронные стримы
Глава 16. LINQ
Основы LINQ
Фильтрация выборки и проекция
Сортировка
Объединение, пересечение и разность коллекций
Агрегатные операции
Методы Skip и Take
Группировка
Соединение коллекций. Метод Join, GroupJoin и Zip
Методы All и Any
Отложенное и немедленное выполнение LINQ
Делегаты и анонимные методы в запросах LINQ
Глава 17. Parallel LINQ
Введение в Parallel LINQ. Метод AsParallel
Метод AsOrdered
Обработка ошибок и отмена параллельных операции
Глава 18. Рефлексия
Введение в рефлексию. Класс System.Type
Применение рефлексии и исследование типов
Динамическая загрузка сборок и позднее связывание
Атрибуты в .NET
Глава 19. Dynamic Language Runtime
DLR в C#. Ключевое слово dynamic
DynamicObject и ExpandoObject
Использование IronPython в .NET
Глава 20. Сборка мусора, управление памятью и указатели
Сборщик мусора в C#
Финализируемые объекты. Метод Dispose
Конструкция using
Указатели
Указатели на структуры, члены классов и массивы
Глава 21. Работа с потоками и файловой системой
Работа с дисками
Работа с каталогами
Работа с файлами. Классы File и FileInfo
FileStream. Чтение и запись файла
Чтение и запись текстовых файлов. StreamReader и StreamWriter
Бинарные файлы. BinaryWriter и BinaryReader
Бинарная сериализация. BinaryFormatter
Архивация и сжатие файлов
Глава 22. Работа с JSON
Сериализация в JSON. JsonSerializer
Глава 23. Работа с XML в C#
XML-Документы
Работа с XML с помощью классов System.Xml
Изменение XML-документа
XPath
Linq to Xml. Создание Xml-документа
Выборка элементов в LINQ to XML
Изменение XML-документа в LINQ to XML
Сериализация в XML. XmlSerializer
Глава 24. Процессы и домены приложения
Процессы
Домены приложений
AssemblyLoadContext и динамическая загрузка и выгрузка сборок
Глава 25. Валидация модели
Основы валидации модели
Атрибуты валидации
Создание своих атрибутов валидации
Самовалидация модели
Вопросы для самопроверки
Создание графических приложений с 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
Пропустить навигацию
Как это работает
- Задать вопрос
- Получить репетитора
- Начать урок
- КАЧЕСТВЕННЫЕ НАУЧНИКИ
- В НАЛИЧИИ 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 »
.