C# (объявленный "видят резкий") является высоким уровнем, со статическим контролем типов, язык программирования мультипарадигмы, разработанный Microsoft. Код C# обычно предназначается для семейства.NET Microsoft инструментов и времени выполнения, которое включает Платформу.NET и.NET Core. Используйте этот тег для вопросов о коде, написанном в C# или формальной спецификации C#.

является мультипарадигмой, управляемой, язык объектно-ориентированного программирования, созданный Microsoft в сочетании с.NET. C# может использоваться с любой реализацией.NET, такой как.NET Core, Платформа.NET, Моно, и Xamarin.

Версии 1.0/1.2 и 2.0 C# были отправлены и одобрили и как ECMA (веб-Версия) и как стандарты ISO/IEC. Последняя версия ECMA соответствует спецификации Microsoft C# 5.0. Спецификации языка также доступны от Microsoft для C# 3.0 и проекта C# 6.0, а также C# 5.0.

Система типов языка была первоначально статична только с явными позволенными объявлениями переменной. Введение var (C# 3.0) и dynamic (C# 4.0) позволил этому использовать вывод типа для неявного переменного ввода и использовать динамические системы типов, соответственно. Делегаты, особенно с лексической поддержкой закрытия анонимных методов (C# 2.0) и лямбда-выражения (C# 3.0), позволяют языку использоваться для функционального программирования.

C# 5.0, представленный async и await ключевые слова для упрощения использования асинхронных вызовов функции.

C# 6.0 представил пустой оператор распространения ?., фильтры исключения, строковая интерполяция и много других функций, которые помогают написать простой код.

C# 7.0 представил несколько out аргументы, сопоставление с образцом, кортежи для возвращаемого значения, is- выражения и switch операторы с шаблонами, разрушением, локальными функциями и еще немного.

C# 7.1 представил универсальное Сопоставление с образцом, выведенные имена элементов кортежа, default литералы, асинхронное основное, и еще немного.

C# 7.2 представлен private protected, незапаздывающие параметры, передаваемые по имени, цифровой разделитель после основного спецификатора, касательно условного выражения, ссылочной семантики для типов значения и еще немного.

C# 7.3 представил функции, которые позволяют безопасному коду быть столь же производительным как небезопасный код, новые параметры компилятора, использование out объявления переменной в поле, свойстве и инициализаторах конструктора и еще немного.

C# 8.0 представил nullable ссылочные типы, который генерирует предупреждения компилятора о возможном разыменовании пустых указателей, если код конкретно не выражает, что переменная может быть null (например, string? foo переменная, которая может быть пустой), асинхронные потоки, который уполномочивает - особенно IoT и интеграции облачных сервисов и методы интерфейса по умолчанию предотвратить повреждающиеся изменения в интерфейсах, наряду с некоторыми другими улучшениями.

Компиляция обычно делается в промежуточном языке Microsoft (MSIL), который затем скомпилирован в JIT в собственный код (и кэшируется) во время выполнения в Общеязыковой среде выполнения (CLR). Однако опции как NGen (для Платформы.NET) и AOT (для Моно) означают, что код C# может быть непосредственно скомпилирован в собственное изображение. Кроме того, некоторые платформы (например.NET Микро Платформа) действуют как интерпретаторы CIL без JIT.

Дженерики в C# обеспечиваются частично временем выполнения, в отличие от шаблонов C++ (шаблоны разрешены во время компиляции), или дженерики Java (которые используют стирание типа).

С комбинацией.NET Core для Windows, macOS и Linux, Платформы.NET для Windows (рабочий стол/сервер/мобильный), Моно, что полномочия приложения Xamarin на Android, Mac, iOS, tvOS и watchOS, Silverlight/Лунный свет (браузер / мобильный), Компактная Платформа (мобильная), и Микро Платформа (встроенные устройства), это доступно для широкого спектра платформ.


Привет мировой пример:

using System; class Hello { static void Main() { Console.WriteLine("Hello, World!"); } } 

Привет Мировой пример с помощью классов:

using System; namespace HelloWorldUsingClasses { class ExampleClass { string exampleString = "Hello World!"; public ExampleClass() { Console.WriteLine(exampleString); } } class Program { static void Main(string[] args) { ExampleClass objHelloWorld = new ExampleClass(); } } } 

Ресурсы Переполнения стека


Часто задаваемые вопросы


Ресурсы


Книги


Учебные руководства


Будущее языка C#

Внесите и предложите новые возможности здесь.


Демонстрационные проекты


C# IDE Онлайн


C# офлайновый IDE

Связанные теги

---------121 анимация--------61780----CSS позволяет анимировать переходы от одной конфигурации стиля CSS до другого. Модуль CSS описывает способ для авторов анимировать значения свойств CSS со временем, с помощью keyf …

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

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

Свойства

  • animation-delay

  • animation-direction

  • animation-duration

  • animation-iteration-count

  • animation-name

  • animation-play-state

  • animation-timing-function

  • animation-fill-mode

Анимации подобны в этом, они изменяют представляемое значение свойств CSS со временем. Основная разница - то, что, в то время как переходы инициировали неявно, когда значения свойств изменяются, анимации явно выполняются, когда свойства анимации применяются.

Пример

p { animation-duration: 3s; animation-name: slidein; } @keyframes slidein { from { margin-left: 100%; width: 300%; } to { margin-left: 0%; width: 100%; } } 

Ссылки: