C++->C#の違いの覚書17

  • インスタンスをnull参照にすることで、明示的に解放しガベージとして扱われる

VS2005での新規機能

  • genericsはここ→System.Collections.Generic
  • Nullable型がでけた


Nullable i = null; // int? i;とも書ける
if (i.HasValue) {
//設定された
}


class Program {
static void Main() {
foreach (string neta in Program.GetEnumerator()) {
Console.WriteLine(neta);
}
}
public static IEnumerable GetEnumerator(){
yield return "ネタ1";
yield return "ネタ2";
}
}<実行結果>
ネタ1
ネタ2

  • 匿名メソッド:デリゲート・インスタンスを生成する際、埋め込みで記述できる名前なしのコード・ブロックのこと


button1.Click += delegate {
label1.Text = textBox1.Text;
};
イベントハンドラ登録時,処理内容を記述できる

  • 静的クラス:static修飾子を付けたクラスでは、静的メソッドしか定義できず、またクラスをインスタンス化できない。


public static class Hoge {
public static int huga() {
}
}

  • msbuild:VS2005をインストールしていない環境下でもビルドできる(インストールするし)
  • .NET Framework2.0で追加されたクラス等
    • System.Net namespaceに、FtpWebRequest/FtpWebResponseクラスが追加され、FTPの実装簡単
    • System.IO.Compression namespace追加:DeflateStream/GZipStreamクラスはストリームやファイルの圧縮解凍できる