#topicpath
※ページ名は、「C#」と書けないので仕方なく。

////////////////////////////////////////////////////////////////////////////////
* 目次 [#uf66a7a3]
#contents();

////////////////////////////////////////////////////////////////////////////////
* データ型 [#x78ac039]

//------------------------------------------------------------------------------
** 構造体とクラス [#nff7fc6a]
- 構造体は値型。
- クラスは参照型
-- 削除されてもすぐには実体は消えない。実体を消すのはガベージコレクタ。



////////////////////////////////////////////////////////////////////////////////
* delegate [#c966138b]
- C++ でいう「関数ポインタ」のようなもの
- マルチキャスト機能があるので、自分で実行側にListや配列を用意する必要がない
- 例
 using System;
 
 // delegate の宣言
 delegate int FuncHoge( int a );
 
 class Test {
     void Increment( int in )
     {
         return( in + 1 );
     }
 
     static void Main()
     {
         // delegate を作成
         FuncHoge   hoge = Increment;    // マルチキャストにする場合は、"=" ではなく "+=" にする。
         
         int x = hoge( 1 );   // Test::Increment( 1 ) の内容が実行される
         Console.WriteLine( "hoge: [result:" + x.ToString() + "]\n" );
     }
 }



////////////////////////////////////////////////////////////////////////////////
* Dispose [#nbe4498e]
- [[IDisposable インターフェイス(MSDN)>http://msdn.microsoft.com/ja-jp/library/vstudio/system.idisposable.aspx]]


////////////////////////////////////////////////////////////////////////////////
* 不要関数の削除について [#vd55fae4]
- リフレクションを使っている場合、その関数が本当に使用されていないかどうかは、コード上からは特定困難。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS