まず、自動実装プロパティ
パブリック クラス人 { // 次のように定義することは通常ように私たちは、属性のC#を定義する3までの時間 // 最初のプライベートフィールドを定義し、そのフィールドへのアクセスプロパティを定義します // ;プライベート文字列_nameを // 名前をパブリック文字列 / / { // _nameをGET {リターン;} // 設定値= {_name;} // } // 。後に自動的に後の属性を持つ3#1 C // 検証のための追加の属性を必要とせず、自動的に使用することができる属性プロパティの定義簡素化 // privateフィールドの追加なしの定義を、そして // 私たちはコードに必要としない、プライベートフィールドには何もプライベートフィールドが存在しない、この時点ではなく、定義されていませんが、コンパイラは、私たちは、匿名のプライベートフィールドを生成するのに役立ち書き込みは // 我々が記述したコードを減らす //以下は、自動的に定義の属性と属性、上記定義の属性と同等の効果が、以前よりもコンパクトである /// <まとめ> /// 名 /// </要約> 公共の 文字列の名前{ GET、SETを;} }
第二に、オブジェクトの初期化
クラスプログラム { 静的な 無効メイン(文字列[] argsを) { 人PERSON1 = 新しい新しい人(); person1.Name = " ラーニングハード" ; person1.Age = 25 ; 人PERSON2 = 新しい新しい人(" ラーニングハード" ); PERSON2。年齢 = 25 ; // エラークラスは、引数なしのコンストラクタがコンパイルされますがない場合は 、//クラス内のフィールド初期化する引数のコンストラクタので、次の文は、呼び出しです // 括弧は、初期設定プログラムの一部であるオブジェクトのない 人person3 = 新しい新しい人{NAME = 「ラーニングハード」、年齢= 25 ;} // 以下のコードそれは上記のコードと等価であるが、上記括弧は、コンストラクタにのみ省略されている 人person4 = 新しい新規人物(){NAME = 「学習ハード」、年齢= 25 }; 人person5 = 新しい新規人物(「学習ハード」)年齢= { 25 }; } } パブリック クラス人 { 公共の 文字列の名前{ 取得します。セット; } 公共の int型年齢{ 取得します。セット; } パブリック人() { } 公共人(文字列名) { この .NAME = 名。 } }
初期化の第三に、セット
名前空間ConsoleTest { クラスプログラム { 静的な 無効メイン(文字列[] argsを) { // C#コードを使用するために前のコレクションに初期化されている3.0 リスト< 文字列 > =名前の新しい新しいリスト< 文字列 > (); Names.Add(" 学習hard1 " ); Names.Add(" 学習hard2 " ); Names.Add(" 学習hard3 " ); // あなたがC#3.0の初期化プロパティを中に設定したら、コードを簡略化することができます @同時にまた、(varキーワードを使用して)暗黙の次のタイプに使用 するvar newnames = 新しい新しいリスト< ストリング > { 「学習hard1 」、「学習hard2 」、「学習hard3 」 ;} } } パブリック クラス人 { パブリック 文字列名前{ GET、SET ;} 公共 のint年齢{ GET、SET ;} パブリック人() { } 公共人(文字列名) { この .NAME = 名。 } } }
第四に、匿名型
クラスプログラム { 静的な 無効メイン(文字列[] argsを) { // 匿名型の定義 // ので、ここで暗黙の型を使用する必要がある初期化の種類、そこに知らないので 、// パワーで再生この暗黙的な型で、 、効果はなかったので、暗黙に型付けされた説明は、匿名型提供するために前方に置く // サービスの匿名型は、LINQの中で提示されたが、マイクロソフトのチームのステップ計画バイステップである (Console.WriteLineを「匿名型にデモ:" ); VAR PERSON1 = 新しい新しい {NAME = " 学習ハード"年齢= 25 }; Console.WriteLineを(" {0}年齢:{1} "、Person1.Name、person1.Ageは); // 匿名型アレイを定義 するvar personcollection = 新しい新[] { 新規新しい {NAME = " トム"、年齢= 30 }、 新しい新しい {NAME = " リリー"年齢= 22であり、} 新しい新名前= { 「ジェリー」、年齢= 32 }、 // 追加コンパイルエラーを次のように発生した場合 、// コンパイラはどのような型に変換されるように推測することができないため 、// 新しい新しい{NAME =「ラーニングハード」} }; INT= totalAge 0 ; foreachの(VARの人にpersoncollection) { // 次のコードは、証明された年齢プロパティが強く型付けされたint型 totalAge + = person.Age; } } }