PDA

View Full Version : سوال: چرا تابع رندم رفتارهای متفاوتی نشان میدهد؟



دلتنگ اسمان
یک شنبه 17 آذر 1392, 17:29 عصر
سلام.
اگه تابع رندم را یکبار ایجاد کنم و هر جا لازم داشتم از این استفاده کنم به یک سبک جواب میده. و اگه هر بار نیاز داشتم اون رو جدید ایجاد کنم سبک دیگه ای جواب میده.
مثلا: در شروع برنامه بنده این رو ایجاد کردم:
Random rnd = new Random();

و هرجا که نیاز دارم از rnd استفاده میکنم.با این شیوه ، جوابهاب خاصی رو میده.
اگه در جاهای مورد نیاز ، دوباره اون رو نمونه سازی کنم ولی با همون نام rnd ،جوابهای دیگه میده.
اگه در جاهای مورد نیاز، دوباره اون رو نمونه سازی کنم ولی با نام دیگه مثل rnd1,rnd2 ... ،جوابهای دیگه میده.
اگر در حالت اول برنامه را چندین بار اجرا کنین جوابهای حاصل شبیه هم هستش.
و در حالت دوم هم اگه چندین بار برنامه رو اجرا کنین جوابهای حاصل شبیه به همه هستش اما با جوابهای حالت اول بسیار متفاوته. و همچنین در حالت سوم. چرا؟
میشه علتش رو توضیح بدید؟ ممنون

parvizwpf
یک شنبه 17 آذر 1392, 18:32 عصر
شما رندوم برای چی میخواید؟

plus
یک شنبه 17 آذر 1392, 18:33 عصر
اگه به کلاس Random (http://msdn.microsoft.com/en-us/library/system.random(v=vs.110).aspx)در سازنده، Seed ندین، هربار خروجی های تکراری تولید میکنه.Seed رو میتونید وابسته به زمان بهش بدین:

Random random = new Random((int)DateTime.Now.Ticks);
// use random

دلتنگ اسمان
دوشنبه 18 آذر 1392, 10:31 صبح
شما رندوم برای چی میخواید؟
کدپرسنلی افراد رو بصورت رندم انتخاب میکنه. و بعد اسامی پرسنل رو در برنامه مورد نظر میچینه.