Что нового в Visual Studio 2008 по сравнению с 2005 или C # 3.0 по сравнению с C # 2.0?
-
05-07-2019 - |
Вопрос
Я просматривал Скрытые возможности C# вопрос и подумал, что хотел бы опробовать одну из функций, с которыми я был незнаком.К сожалению, я использую Visual Studio 2005, и рассматриваемая функция была введена позже.Есть ли хороший список новых функций в C # 3.0 (Visual Studio 2008) по сравнению сC # 2.0 (Visual Studio 2005)?
Решение
Это неполный список, но это некоторые из моих любимых новых функций C # 3.0:
Инициализаторы нового типа.Вместо того , чтобы сказать это:
Person person = new Person();
person.Name = "John Smith";
Я могу сказать вот что:
Person person = new Person() { Name = "John Smith" };
Аналогично, вместо добавления элементов по отдельности, я могу инициализировать типы, которые реализуют IEnumerable следующим образом:
List<string> list = new List<string> { "foo", "bar" };
Новый синтаксис для лямбда-выражений также хорош.Вместо того, чтобы печатать это:
people.Where(delegate(person) { return person.Age >= 21;);
Я могу напечатать это:
people.Where(person => person.Age >= 21 );
Вы также можете написать методы расширения для встроенных типов:
public static class StringUtilities
{
public static string Pluralize(this word)
{
...
}
}
Который позволяет сделать что-то вроде этого:
string word = "person";
word.Pluralize(); // Returns "people"
И наконец.Анонимные типы.Таким образом, вы можете создавать анонимные классы "на лету", вот так:
var book = new { Title: "...", Cost: "..." };
Другие советы
Пара особенностей, которые мне нравятся:
VS 2008 поддерживает таргетинг на различные версии .NET Framework, поэтому вы можете настроить таргетинг на 2.0, 3.0 или 3.5
Автоматические свойства хороши.
Например:
public int Id { get; set; }
вместо того , чтобы:
private int _id;
public int Id {
get { return _id; }
set { _id = value; }
}
Поддержка с несколькими целями.Вы можете собрать .NET 2 -> .NET 3.5 из одной IDE.
Вот ссылка на страницу MS в .NET 3.0: http://msdn.microsoft.com/en-us/library/bb822048.aspx ... и в версии 2008 для C#: http://msdn.microsoft.com/en-us/library/bb383815.aspx
Я не пробовал VS2008 и .NET 3.0, но я полагаю, что ссылки могут помочь ;)
Одной из неизвестных, но мощных функций Visual Studio 2008 является T4 (Набор инструментов для преобразования текстовых шаблонов).T4 - это генератор кода, встроенный непосредственно в Visual Studio 2008.
Проверьте Дом Скотта Гатри запись в блоге Выпущены Visual Studio 2008 и .NET 3.5.Этот пост был написан после выхода Visual Studio 2008 и .NET 3.5.Этот пост содержит множество ссылок на новые функции Visual Studio 2008 и C # 3.0.