最終更新:2017-05-25 (木) 14:06:28 (2521d)  

C♯ 3.0
Top / C♯ 3.0

開発環境

3.5以前を使用するとLINQなど一部機能が使用できない

型推論

  • C♯ 3.0 から、var キーワードを使って、型を明示せずに変数を定義できるようになった。
  • 型は右辺値から推論される。(推論できない場合はコンパイルエラー)
    var b = true;    // 論理値
    var n = 26983;   // 整数
    var x = 10.362;  // 実数
    var c = 'a';     // 文字
    var s = "文字列"; // 文字列
    
    testClass tmp = new testClass();//今まで
    var tmp = new testClass();//C# 3.0

匿名型

var x = new { FamilyName = "糸色", FirstName="望"};

イニシャライザ (オブジェクト初期化子)

Point p = new Point();
p.X = 0;
p.Y = 1;

と書いていたのを

Point p = new Point{ X = 0, Y = 1 };

とかけるようになった。

拡張メソッド

C♯/ラムダ式

Func<int, int> p = n => n > 0;

は下記の匿名メソッドと同じ意味

delegate(int n)
{
  return n > 0;
}

LINQ

自動プロパティ

パーシャルメソッド?

Mono

  • Mono 2.0?から対応

参考