Помощь в написании студенческих работ
Антистрессовый сервис

Версия 2.0. Язык С# как средство обучения программированию

РефератПомощь в написанииУзнать стоимостьмоей работы

Обобщённые, или параметризованные типы (generics). В отличие от шаблонов C++, они поддерживают некоторые дополнительные возможности и работают на уровне виртуальной машины. Вместе с тем, параметрами обобщённого типа не могут быть выражения, они не могут быть полностью или частично специализированы, не поддерживают шаблонных параметров по умолчанию, от шаблонного параметра нельзя наследоваться, и… Читать ещё >

Версия 2.0. Язык С# как средство обучения программированию (реферат, курсовая, диплом, контрольная)

Проект спецификации C# 2.0 впервые был опубликован Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и .NET 2.0.

Новые возможности в версии 2.0.

Частичные типы (разделение реализации класса более чем на один файл).

Обобщённые, или параметризованные типы (generics). В отличие от шаблонов C++, они поддерживают некоторые дополнительные возможности и работают на уровне виртуальной машины. Вместе с тем, параметрами обобщённого типа не могут быть выражения, они не могут быть полностью или частично специализированы, не поддерживают шаблонных параметров по умолчанию, от шаблонного параметра нельзя наследоваться, и т. д.

Новая форма итератора, позволяющая создавать сопрограммы с помощью ключевого слова yield, подобно Python и Ruby.

Версия 3.0

В июне 2004 года Андерс Хейлсберг впервые рассказал на сайте Microsoft о планируемых расширениях языка в C#3.0. В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и .NET 2.0. Окончательно эта версия языка вошла в Visual Studio 2008 и .NET 3.5.

Новые возможности в версии 3.0. В C# 3.0 появились следующие радикальные добавления к языку:

· ключевые слова select, from, where, позволяющие делать запросы из SQL, XML, коллекций и т. п. (запрос, интегрированный в язык, Language Integrated Query, или LINQ).

Инициализация объекта вместе с его свойствами:

  • · Customer c = new Customer (); c.Name = «James»; c. Age=30;
  • · можно записать как
  • · Customer c = new Customer { Name = «James», Age = 30 };
  • · Лямбда-выражения:
  • · listOfFoo. Where (delegate (Foo x) { return x. size > 10; });
  • · теперь можно записать как
  • · listOfFoo. Where (x => x. size > 10);

Деревья выражений: лямбда-выражения теперь могут представляться в виде структуры данных, доступной для обхода во время выполнения, тем самым позволяя транслировать строго типизированные C#-выражения в другие домены (например, выражения SQL).

C# 3.0 совместим с C# 2.0 по генерируемому MSIL-коду; улучшения в языке — чисто синтаксические и реализуются на этапе компиляции. Например, многие из интегрированных запросов LINQ можно осуществить, используя безымянные делегаты в сочетании с предикатными методами над контейнерами наподобие List. FindAll и List.RemoveAll.

Показать весь текст
Заполнить форму текущей работой