Что нового в Visual Studio 2008 против 2005 или C # 3.0 против C # 2.0? - PullRequest
3 голосов
/ 30 октября 2008

Я просматривал вопрос Скрытые возможности C # и подумал, что попробую одну из функций, с которыми я не знаком. К сожалению, я использую Visual Studio 2005, и эта функция была представлена ​​позже. Есть ли хороший список для новых функций в C # 3.0 (Visual Studio 2008) против C # 2.0 (Visual Studio 2005)?

Ответы [ 5 ]

6 голосов
/ 30 октября 2008

Это не полный список, но это некоторые из моих любимых новых функций в 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: "..." };
2 голосов
/ 30 октября 2008

Поддержка нескольких целей. Вы можете собрать .NET 2 -> .NET 3.5 все из одной IDE.

2 голосов
/ 30 октября 2008

Мне нравится пара функций:

  • 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; }
}
1 голос
/ 30 октября 2008

Вот ссылка на страницу MS в .NET 3.0: http://msdn.microsoft.com/en-us/library/bb822048.aspx ... и на VS 2008 для C #: http://msdn.microsoft.com/en-us/library/bb383815.aspx

Я не пробовал VS2008 и .NET 3.0, но думаю, что ссылки могут помочь;)

0 голосов
/ 30 октября 2008

Одной из неизвестных, но мощных функций 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.

...