سؤال

أحتاج إلى معرفة تأثير المنصات المختلفة على System.Random كائن (Silverlight). هل تم إنشاء التسلسل نفسه على Mac و PC وعبر 32/64 بت؟

هل كانت مفيدة؟

المحلول

يتم تشفير الخوارزمية لإنشاء الأرقام العشوائية في وقت التشغيل. وبالتالي بغض النظر عن النظام الأساسي ، يجب أن ترى نفس مجموعة الأرقام "العشوائية" لقيمة بذرة معينة.

سلوك تمديد المُنشئ الافتراضي ل Random (حيث تعتمد قيمة البذور على الوقت) قد تختلف اختلافًا طفيفًا من منصة إلى أخرى. على سبيل المثال خلق سريع لحالات Random قد يخلق بعض الحالات التي تولد نفس التسلسل ، قد يختلف توزيع هذه "التكرارات" على جميع أنواع الشروط بما في ذلك النظام الأساسي.

نصائح أخرى

عذرًا إجابتي "الغبية" ، ولكن في رأيي ، ينبغي دائمًا النظر في الأرقام العشوائية عشوائي وبالتالي ينبغي التعامل مع التسلسلات التي تم إنشاؤها على أنها ليست هي نفسها عبر أي "مجال". أعلم أن مولدات الأرقام العشوائية .NET (أو Silverlight) تستخدم خوارزمية عشوائية زائفة اعتمادًا على قيمة البذور وستولد نفس تسلسل الأرقام عند استخدام نفس قيمة البذور ، لكنني لن أعتمد على هذه الحقيقة.

يبدو أن لديك نوعًا من "التوقع" عندما تحتاج إلى مزامنة أرقام عشوائية عبر عدة منصات ، واستخدام مولد الأرقام العشوائية لتسلسل القيمة المتوقعة يبدو غريبًا بالنسبة لي.

إذا تمكنت من إخبارنا بالمزيد عن حالة الاستخدام الخاصة بك ، فربما يمكننا العثور على حل آخر أكثر صلابة؟

رأيي فقط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top