以下のように一定サイズの配列を作成するときに、カーテンの後ろで何が起こっているのかを理解しようとしています:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
public float[] constArray;
fixed
キーワードを使用できることは理解していref
ますが、オプションではなくなり、すべてのポインター操作は固定式内にある必要があります。
私がやろうとしているのは、XML ファイルを解析し、配列内の特定のインデックスに格納することです。したがって、ファイルに 10 個の要素がある場合、次のように設定できます。
for (int i = 0; i < 10; i++)
{
readElement("element", ref constArray[i]);
}
しかし、constArray[i]
ですnull
。
さらなるインスタンス化が必要になるかもしれませんが、マーシャリングのポイントは何でしょう。マーシャリングは、参照を作成するために操作するオブジェクトを作成すると思いましたref
。
多くの情報を見つけることなく、参照型と値型を読みました。私はまた、多くの進歩を遂げずに、 refや参照配列などの他のいくつかを読みました。
概念をよく理解できるリソースを見つけたようです。そのため、リソースと回答をいただければ幸いです。
ありがとう、ブレイク