VS:人々はIntPtr
を使用どこでも私が見る、私が代わりにUIntPtr
を使うべき理由はありますか?への十分な理由があるだろうようのIntPtrこれは簡単であるべきUIntPtr
答えて
は思えません。ドキュメントから:UIntPtr型がいない間
備考
...
のIntPtr型はCLSに準拠し、 です。 のみ 言語ランタイムでIntPtrタイプが使用されています。 UIntPtr型は、ほとんどのIntPtr タイプと 建築対称性を維持するために提供さ です。
この回答は間違っている間は正しいとマークされています。 – xamid
ウェルaccording to MicrosoftUIntPtr
は、ほとんどがアーキテクチャの対称性のために提供されています。別の興味深い点は、UIntPtr
がCLSに準拠していないことです。表面には
のIntPtrが好ましい選択肢であると思われます。しかし、ポインタ演算を実行することがわかっている場合は、UIntPtrがより良い選択になる可能性があります。なぜなら、オフチャンスでは、負の値を処理するあいまいな問題があるからです。
大きな違いがあります。たとえば、新しいUIntPtr(0xC01E0001)
は3223191553にポインタを返しますが、IntPtr(0xC01E0001)
の結果、System.OverflowExceptionが発生します。「算術演算でオーバーフローが発生しました」。つまり、0xC01E0001がMaxValuefürInt32より大きいためです。 1はまだ、このようなポインタを望んでいるのであれば、負の整数は、あなたの質問に答えるために
unchecked((IntPtr)(int)0xC01E0001)
のように、のIntPtrのための内部値として使用する必要があります
:Int32.MaxValueをより大きい値の場合、それは簡単で、何らかの形でUIntPtrを使うのがきれいです。ポインタは常に符号なしとみなされるので、おそらく常に最良の解決策です。
OverflowExceptionを 'var p1 = new IntPtr(0xC01E0001);で再現できません。 var p2 =(IntPtr)0xC01E0001; ' –
- 1. これは簡単に、またはおそらく不可能であるべきCSS
- 2. 私は答えは簡単であるべきだと思うLINQのツーSQL
- 3. これはカレンダーのための最も簡単で簡単なアルゴリズムですか?
- 4. ネット:これは簡単Qですが、大きな助けスレッド
- 5. ソートLINQは私がこれらの簡単なクラスに問題があるグループ
- 6. このクエリを簡単にすることはできますか?
- 7. ListViewでアイテムを並べ替える簡単な方法はありますか?
- 8. 私のC++デモをiPhoneに簡単に置くことは簡単ですか?
- 9. これをPythonで簡単に書く方法はありますか?
- 10. コンパイラフラグは、私は、これは簡単なものであると思いますが、私はそれを把握することはできません
- 11. xugglerの簡単なチュートリアルはどこにありますか?
- 12. accesing機能は、これは本当に簡単です
- 13. は、誰もが前か、それは簡単である場合は、これを試みた場合ジェンキンスは
- 14. ここで私はcakephpで簡単なコードaclプロジェクトをダウンロードできます
- 15. jQuery UIダイアログボックスを簡単に置き換えることはできますか?
- 16. 写真を「簡単に」撮ることができない
- 17. は、これは非常に簡単なはずのQt
- 18. javascriptのチェックボックスコンテナ - これを書くための簡単な方法がある
- 19. SVNこれはシンプルであるべき古いリビジョン
- 20. PHP mysqliはこれが一番簡単な方法ですか?
- 21. 簡単なアニメーションああhtmlのページ
- 22. ハンドル(IntPtr)kernel32.dll、SafeFileHandle to IntPtr
- 23. .NET用の無料で簡単に実装できるスペルチェックコンポーネントはどこにありますか?
- 24. JavaScript変数を悪意のあるように簡単に変更することはできますか?
- 25. TabControlの並べ替えは簡単ですか?
- 26. 簡単なコードの追加は、ここでGoogleマップを表示
- 27. は簡単なagility.jsを働かせることはできません
- 28. EF4 - 関連するすべてのエンティティを簡単にロードできますか?
- 29. このheirarchicalテーブルをフラットテーブルに非正規化する最も簡単で簡単な方法は何ですか?
- 30. 大規模で簡単にデプロイできる、カスタマイズされたCMS
うわー、私はUIntPtrがあることさえ知りませんでした。私たちは.NETのもっとも役に立たない機能のためにそれを指名できますか? – ja72