Что нового в Visual Studio 2008 по сравнению с 2005 или C # 3.0 по сравнению с C # 2.0?

StackOverflow https://stackoverflow.com/questions/249256

Вопрос

Я просматривал Скрытые возможности 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top