ایجاد عدد تصادفی
با استفاده از کلاس Random میتوان اعداد تصادفی تولید کرد. این کلاس دارای متدهایی برای تولید عدد تصادفی میباشد. شانس آمدن هر عددی وجود دارد. میتوان از متد ()Next یک عدد تصادفی مثبت مانند مثال زیر تولید کرد:
Random generator = new Random(); //Generate 10 random numbers for (int i = 1; i <= 10; i++) { Console.WriteLine(generator.Next()); }
673131583 2075827769 530790962 853400196 1181061071 1657679493 1459501829 452543008 1814178911 1933670708
خروجی شما مطمئناً متفاوت است چون همه اعداد تصادفی میباشند. یکی دیگر از نسخههای متد ()Next به شما اجازه میدهد که تعدادی عدد تصادفی را که از یک عدد خاص بزرگتر نباشند تولید کنید. این نسخه از متد همچنین باعث میشود که تعداد اعداد تولید شده از مقدار ذکر شده در پرانتز بیشتر نشود. به عنوان مثال برنامه زیر اعدادی را تولید میکند که نه مقدار آنها از 11 بیشتر است و نه تعداد آنها.
Random generator = new Random(); //Generate 10 random numbers for (int i = 1; i <= 10; i++) { Console.WriteLine(generator.Next(11)); }
2 3 4 4 10 4 1 1 0 8
متد ()Next آرگومانی را که به عنوان بزرگترین عدد دریافت میکند، به عنوان بزرگترین عدد انحصاری میپذیرد. بدین معنی که این متد یک مقدار تصادفی که کوچکتر از (نه برابر) آرگومانی که میپذیرد را برگشت میدهد. در نتیجه از آنجاییکه در مثال بالا عدد 11 را به عنوان آرگومان به این متد ارسال کردهایم، این متد نیز مقادیر ممکن بین 0 و 10 را بر میگرداند. همچنین میتوان محدوده اعدادی که متد ()Next بر میگرداند را، مشخص کرد. به عنوان مثال اگر بخواهید اعداد 1 تا 6 روی طاس تولید شود میتوان کد بالا را به صورت زیر تصحیح کرد :
Console.WriteLine(generator.Next(1, 7)); //Returns random value from 1 to 6
اولین آرگومان نشان دهنده کوچکترین و دومین آرگومان نشان دهنده بزرگترین عددی است که توسط این متد برگشت داده میشود. میتوان از یک مقدار هم برای تولید یک توالی تکراری از اعداد تصادفی استفاده کرد. بدین معنی که با هر بار اجرای برنامه توالی و نوع اعداد تولید شده مانند سری قبلی باشد که برنامه اجرا شده است. این مقدار هر عددی میتواند باشد. برای اختصاص این مقدار باید آن را در داخل پرانتز سازنده کلاس Random قرار دهید. مانند عدد صفر در مثال زیر :
Random generator = new Random(0); //Generate 10 random numbers for (int i = 1; i <= 10; i++) { Console.WriteLine(generator.Next(11)); }
7 8 8 6 2 6 9 4 10 3
با هر بار اجرای برنامه بالا همین اعداد را مشاهده خواهید نمود. حال اجازه بدهید که یک مثال ساده را توضیح دهیم. این برنامه پیغامهای متفاوتی در هر بار اجرای آن به شما نشان میدهد.
using System; namespace RandomMessage { class Program { static void Main() { Random generator = new Random(); int messageNumber = generator.Next(1, 4); switch (messageNumber) { case 1: Console.WriteLine("Hello to you my friend."); break; case 2: Console.WriteLine("Good day to you sir/mam."); break; case 3: Console.WriteLine("Have a happy day."); break; } } } }
برنامه مقادیر 1 تا 3 را تولید میکند. سپس با استفاده از دستور switch برای نشان دادن یک پیغام برای هر مقدار ممکن استفاده میکنیم. بعد از چندین بار اجرای برنامه متوجه میشوید که پیغام خوش آمد گویی تغییر میکند.
برای من خطا میده، میگه Random اصلا تعریف نشده!!!!
(با ویژوال استودیو برای محیط کنسول برنامه مینویسم)
از 2002 تا 2022 این کلاس هستش
انتخاب رندوم اسم