Visual Studio 2008 vs 2005またはC#3.0 vs 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フレームワークのターゲットをサポートしているため、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をビルドできます-&gt; .NET 3.5はすべて1つのIDEから。
.NET 3.0のMSページへのリンク: http:/ /msdn.microsoft.com/en-us/library/bb822048.aspx ...およびVS 2008 for C#: http://msdn.microsoft。 com / en-us / library / bb383815.aspx
VS2008と.NET 3.0は試していませんが、リンクが役立つと思われます;)
Visual Studio 2008の未知だが強力な機能の1つは、 T4(テキストテンプレート変換ツールキット)。 T4はVisual Studio 2008に直接組み込まれたコードジェネレーターです。
Scott Guthrieのブログ投稿 Visual Studio 2008および.NET 3.5リリース。この投稿は、Visual Studio 2008および.NET 3.5がリリースされたときに書かれました。この投稿には、Visual Studio 2008およびC#3.0の新機能へのリンクが多数含まれています。