.NET Framework 1.1から.NET Framework 4へのデコードに使用されるメソッドを移行しています。 Randomの実装が変更されていることに気付きました。だから、同じ種があれば、Random.NextBytesは別の結果を返します。.NETのRandom()への実装変更
したがって、次のコードを実行するとします。 .NET Framework 1.1の下で
byte[] bytes = new byte[4];
System.Random random = new System.Random(50);
random.NextBytes(bytes);
for(int i=0; i< bytes.Length; i++)
{
Console.WriteLine("bytes[" + i + "] = " + bytes[i]);
}
それが返されます。
bytes[0] = 216
bytes[1] = 124
bytes[2] = 183
bytes[3] = 58
を.NETフレームワーク4の下にそれが返されます。
bytes[0] = 154
bytes[1] = 49
bytes[2] = 183
bytes[3] = 48
この問題を解決する最良の方法は何ですか?
問題はなんですか?あなたのプログラムは特定の乱数生成に依存していますか? – Stilgar
私はStilgarと一緒です。ランダムは、擬似ランダム結果を生成することを意味します。特定のバイトが必要な場合は、そのバイトをコードに配置しないのはなぜですか? @ Moo-juiceが、後のフレームワークにアップグレードする場合、アップグレード後に同じ実装を使用しています...? – sheikhjabootie
@ムージュース。クライアントの接続を許可する前に、バージョンが互換性があることを確認してください。ゲームは何十年もの間、この種のバージョン管理を行ってきました。 – Stilgar