質問

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の新機能へのリンクが多数含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top