3

サーバー側のコードが x86 環境で実行され、クライアント側が x64 で実行されるシナリオがあります。String.GetHashCode() を使用して HashTable 内のオブジェクトを識別するという問題が発生しています。「GetHashCode の動作はその実装に依存しており、共通言語ランタイムのバージョンによって異なる可能性があります。」-MSDN. アンセーフ コードを使用して、次のスタック オーバーフローの質問から x86 相当の GetHashCode() を作成しました。.

いくつか質問がありました:

  1. 安全でないコードをマネージ コードの世界に残すことは推奨されますか。
  2. 上記の質問の安全でないコードを安全なコードに変換する方法。
4

1 に答える 1

1

クライアントとサーバーが異なる環境 (x86 または x64) で実行されている場合でも同じになるように、提供された文字列の HashCode を生成するメソッドを作成および拡張しました。

于 2011-03-16T23:32:08.587 に答える