1

実際には NULL ポインタである文字列をマーシャリングしようとすると、どうなりますか?

4

4 に答える 4

2

ネイティブからマネージドまで、null 文字列オブジェクトを取得します。マネージからネイティブに、null ポインターを取得します。それはかなり直感的です。:-)

于 2009-08-17T02:39:25.903 に答える
1

文字列として入力された場合の NULL 値は、いずれかの方向 (C の場合は NULL、C# の場合は null) にマーシャリングされると、それぞれの言語表現の NULL に変換されます。

于 2009-08-17T02:50:35.877 に答える
0

基になる API に NULL を渡すと思いますが、これは、呼び出している内容に応じて、受け入れ可能な入力である場合とそうでない場合があります。適切に設計された C(++) コードのほとんどは、そのようなことをチェックしますが、再確認することをお勧めします。

于 2009-08-17T02:38:00.100 に答える
0

さて、あなたはどう思いますか?LPstr は、ANSI 文字のヌル終了配列へのポインタです。NULL は明らかにヌル終了配列へのポインターではありません。おそらくNULLか何かから読み取ろうとします。いずれにせよ、その未定義の動作は、アプリをクラッシュさせるか、不明な状態のままにします。なぜあなたはそれが欲しいのですか?マッシュする前にチェックしてみませんか?

于 2009-08-17T02:35:43.940 に答える