উত্তর:
আপনি চেষ্টা করতে পারেন
Random r = new Random();
int rInt = r.Next(0, 100); //for ints
int range = 100;
double rDouble = r.NextDouble()* range; //for doubles
একটু দেখো
র্যান্ডম ক্লাস , র্যান্ডম.নেক্সট পদ্ধতি (ইন্ট 32, ইন্ট 32) এবং এলোমেলো.নেক্সটডউবল পদ্ধতি
Random()
একটি সময়-নির্ভর বীজ ব্যবহার করে, তবে স্পষ্টভাবে লিখতে পঠনযোগ্যতার পক্ষে ভাল।
কোড নীচে চেষ্টা করুন।
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(52); // creates a number between 0 and 51
কিছুটা এইরকম:
var rnd = new Random(DateTime.Now.Millisecond);
int ticks = rnd.Next(0, 3000);
DateTime.Now.Millisecond
?
Random
ইতিমধ্যে একটি সিস্টেম মান বীজযুক্ত করা হয়, এবং Millisecond
শুধুমাত্র 0 এবং 999. এর মধ্যে একটি সংখ্যা যদি লাইনের এই যুগল কোডে সবসময় একসাথে ছিল, সেখানে মাত্র 1000 সম্ভাব্য মান হতে হবে rnd.Next
বীজ হচ্ছে কারণে প্রতিটি সময় পুনরায় সেট করুন। একই বীজ, একই এলোমেলো সংখ্যা। আমি ম্যানুয়াল বীজ ছেড়ে দেব
Environment.TickCount
।
ব্যবহার করুন:
Random r = new Random();
int x= r.Next(10);//Max range
ভবিষ্যতের পাঠকদের জন্য যদি আপনি একটি পরিসরে একটি এলোমেলো নম্বর চান তবে নিম্নলিখিত কোডটি ব্যবহার করুন:
public double GetRandomNumberInRange(double minNumber, double maxNumber)
{
return new Random().NextDouble() * (maxNumber - minNumber) + minNumber;
}
return new Random().NextDouble() * (maxNumber - minNumber) + minNumber;
সরাইয়া থেকে এলোমেলো ক্লাস , যা ইন্টিজার এবং ডাবলস জেনারেট করে, বিবেচনা করুন:
ড্যারালেক উত্তর থেকে আপডেট সংস্করণ এখানে । এটি সি # এক্সটেনশন পদ্ধতি ব্যবহার করে প্রয়োগ করা হয় । প্রতিবার এই পদ্ধতিটি বলা হওয়ার পরে এটি মেমোরি ( নতুন র্যান্ডম () ) বরাদ্দ করে না ।
public static class RandomExtensionMethods
{
public static double NextDoubleRange(this System.Random random, double minNumber, double maxNumber)
{
return random.NextDouble() * (maxNumber - minNumber) + minNumber;
}
}
ব্যবহার (র্যান্ডোম এক্সটেনশনমেডডস শ্রেণি সহ নেমস্পেসটি আমদানি করার বিষয়টি নিশ্চিত করুন):
var random = new System.Random();
double rx = random.NextDoubleRange(0.0, 1.0);
double ry = random.NextDoubleRange(0.0f, 1.0f);
double vx = random.NextDoubleRange(-0.005f, 0.005f);
double vy = random.NextDoubleRange(-0.005f, 0.005f);
double rDouble = (r.NextDouble()*2)-1.0;