C# это язык программирования. Вопросы о программировании не по теме. Пожалуйста, направьте эти вопросы на [Переполнение стека](http://stackoverflow.com/).

C# - это мультипарадигмальный управляемый, объектно-ориентированный язык программирования для сборки мусора, созданный Microsoft в сочетании с платформой.NET, но также используемый с реализациями сторонних разработчиков (в частности, Mono).

Версии 1.0/1.2 и 2.0 C# были представлены и утверждены как стандарты ECMA и ISO/IEC. По состоянию на декабрь 2010 года не существует спецификаций ECMA или ISO/IEC для C# 3.0 и 4.0, однако языковые спецификации доступны от Microsoft ( 3.0 и 4.0 соответственно).

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

Компиляция обычно выполняется в Common Intermediate Language (CIL), который затем JIT-компилируется в собственный код (и кэшируется) во время выполнения в Common Language Runtime (CLR); однако такие параметры, как Ngen (.NET) и AOT (Mono) означают, что это не единственный вариант. Кроме того, некоторые фреймворки (например, Micro Framework) действуют как интерпретаторы CIL без JIT.

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

Сочетание Microsoft .NET для Windows (рабочий стол / сервер), Mono (рабочий стол / сервер / мобильный), Silverlight / Moonlight (браузер / мобильный), Compact Framework (мобильный) и Micro Framework (встроенные устройства) делает его доступным для широкого спектра платформ.

Привет, мир

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

Вопросы и ответы

Ресурсы