2009-06-12 11 views
1

C#のポインタ?私は変数の宣言を次のように出くわした1つのC#のメンテナンスプロジェクトで

Int32* iProgressAddress; 

が、それはC#でポインタの宣言ですか?

私はC#でポインタの概念がないと思ったが、そのステートメントはどういう意味ですか?

+1

これらの質問もご覧ください:http://stackoverflow.com/questions/430112/what-is-the-difference-between-ac-reference-and-a-pointer http://stackoverflow.com/questions/584134/should-you-use-pointers-unsafe-code-in-c http://stackoverflow.com/questions/607159/c-benefit-of-explicitly-stating-unsafe-compiler-option –

+0

ここでは素晴らしいイントロですC#のポインタへ - http://www.codeproject.com/KB/cs/csunsafeintro01.aspx – RichardOD

答えて

5

C#はポインタをサポートしていますが、int、float、enums、その他のポインタ型(その他のプリミティブ)などの非管理型のプリミティブデータ型を指しています。

編集:だけでなく、値の型

+0

正しくない。構造体を含むすべての*値型*へのポインタを持つことができます。単なるプリミティブではありません。しかし、参照型変数を含まない構造体だけです。 – JulianR

3

はい、そうです。

この方法にはunsafeと記されていることに注意してください。アセンブリと同様に。

管理コードからポインタを使用する前に知っておくべきことがたくさんあります。 たとえば、ポインタピン。

1

申し訳ありませんが、私はそれがポインタであり、あなたはそれに慣れなければならないと思います。

本当に!ポインタはそれほど恐ろしいものではありません。 :)

関連する問題