परिचय
C# में Random.NextDouble() मेथड एक रैंडम फ्लोटिंग-पॉइंट संख्या वापस करता है जो 0.0 (इन्क्लूसिव) से 1.0 (एक्सक्लूसिव) के बीच होती है।
सिंटैक्स
public virtual double NextDouble();
उदाहरण 1: बाइट ऐरे और फ्लोटिंग-पॉइंट संख्याएं
using System;
public class Demo {
public static void Main() {
Random r1 = new Random();
Random r2 = new Random();
Byte[] arr = new Byte[2];
r1.NextBytes(arr);
Console.WriteLine("बाइट ऐरे में रैंडम संख्याएं...");
for (int i = 0; i < 2; i++)
Console.WriteLine(arr[i]);
Console.WriteLine("\nरैंडम फ्लोटिंग-पॉइंट संख्याएं...");
for (int i = 0; i < 5; i++)
Console.WriteLine(r2.NextDouble());
}
}
आउटपुट
बाइट ऐरे में रैंडम संख्याएं... 124 141 रैंडम फ्लोटिंग-पॉइंट संख्याएं... 0.93591266727816 0.36406785872023 0.122396959514542 0.795166163144245 0.954394097884369
उदाहरण 2: वितरण प्रदर्शन (हिस्टोग्राम)
using System;
public class Demo {
public static void Main() {
int[] val = new int[7];
Random r = new Random();
double d;
for (int i = 0; i < 50; i++) {
d = r.NextDouble();
val[(int)Math.Ceiling(d * 5)]++;
}
Console.WriteLine("रैंडम संख्याएं...");
for (int i = 0; i < 7; i++)
Console.WriteLine(val[i]);
}
}
आउटपुट
रैंडम संख्याएं... 0 13 9 12 8 8 0
मुख्य बिंदु
- वापसी मान हमेशा
0.0 <= value < 1.0होता है। - किसी भी रेंज
[min, max)के लिए स्केल करने के लिए:min + (max - min) * NextDouble()। - क्रिप्टोग्राफिक रूप से सुरक्षित नहीं - सुरक्षा के लिए
RandomNumberGeneratorका उपयोग करें। Randomछद्म-यादृच्छिक (pseudo-random) है - समान सीड समान अनुक्रम देता है।