私はCとポインタの使用に慣れています。C#でポインターを使用して多くのことを実行できることは知っていますが、ガベージコレクションは煩わしくなります。オブジェクトへのポインターを作成し、ポインターが生きている限りオブジェクトがクリーンアップされないように、ポインターをオブジェクトにリンクすることは可能ですか?何か嘘がある
unsafe void* Function1 () {
SomeStruct s = new SomeStruct();
void* ptr = (void*) &s;
return ptr;
}
main() {
void* p = Function1();
p->field = 3;
}
これを実行しようとすると、オブジェクトは正常で、ポインターはFunction1内で機能しましたが、関数が終了するとすぐに、ポインターは有効でしたが、オブジェクトは破棄されました。ガベージコレクターに関する限り、2つをリンクする方法があれば素晴らしいでしょう。