移転中~(.Net)C#で変数のアドレスが知りたい昔VB.Netでやってたときに、一回インスタンスのアドレスを調査したい時があったんですが、結局その方法が無くて困った経験があります。C#だと、デバッガ中に知るのは超簡単です。入れると、そのアドレスを知ることができます。参照型の場合は、ツリーを展開すれば参照先がわかります。プログラム中で、変数のアドレス知りたいときはちょっと手順が必要です。調べたい方が基本型の場合は簡単です。キーワードでポインタの利用可能とします。後は、ビルドオプションで、「アンセーフコードの許可」にチェックを入れるだけです。面倒なのはString等参照型のアドレス取りたいときです。C#では一応ポインタが扱えるようなので、その方法を用います。この方法だとポインタの値(つまりインスタンスのアドレス)はわかるんですが、ポインタ自身のアドレスはわかりません。ポインタ自身のアドレスはデバッガのウォッチを使うしかなさそうです。ヒープにたまるオブジェクトは自動メモリ管理機構の対象になるようで、CLRによって勝手に移動させられることがあるようです。(これを移動型と呼ぶらしいです。)なので、オブジェクトを勝手に移動させないように、一時的に固定する必要あります。ステートメントのようです。使い方はこんな感じです。((int)p).ToString("x"));}このようにコード内でポインタ使ってまでアドレス知りたいことはそうないので、ウォッチ式があれば十分ですね。情シスで何でも屋の三流プログラマのコーディング、サーバ管理、PC生活関係のメモ書き。このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。29検索カテゴリ全体Linuxサーバがらみ.Net開発PHP開発C/C++開発JavaSQLツール思ったこととかニュースとか。メッセージを入力してください。