C# Language
सी # में यादृच्छिक संख्या उत्पन्न करना
खोज…
वाक्य - विन्यास
रैंडम ()
रैंडम (इंट बीज)
int अगला ()
int अगला (int maxValue)
int अगला (int minValue, int maxValue)
पैरामीटर
पैरामीटर | विवरण |
---|---|
बीज | यादृच्छिक संख्या उत्पन्न करने के लिए एक मूल्य। यदि सेट नहीं किया गया है, तो डिफ़ॉल्ट मान वर्तमान सिस्टम समय द्वारा निर्धारित किया जाता है। |
MINVALUE | उत्पन्न संख्या इस मान से छोटी नहीं होगी। यदि सेट नहीं किया गया है, तो डिफ़ॉल्ट मान 0 है। |
अधिकतम मूल्य | उत्पन्न संख्या इस मान से छोटी होगी। यदि सेट नहीं किया गया है, तो डिफ़ॉल्ट मान Int32.MaxValue । |
प्रतिलाभ की मात्रा | यादृच्छिक मान के साथ एक संख्या देता है। |
टिप्पणियों
सिस्टम द्वारा उत्पन्न यादृच्छिक बीज हर अलग-अलग रन में समान नहीं है।
एक ही समय में उत्पन्न बीज समान हो सकते हैं।
एक यादृच्छिक उदाहरण उत्पन्न करें
यह उदाहरण 0 और 2147483647 के बीच यादृच्छिक मान उत्पन्न करता है।
Random rnd = new Random();
int randomNumber = rnd.Next();
रैंडम डबल उत्पन्न करें
0 और 1.0 के बीच एक यादृच्छिक संख्या उत्पन्न करें। (1.0 सहित नहीं)
Random rnd = new Random();
var randomDouble = rnd.NextDouble();
दी गई श्रेणी में एक यादृच्छिक int उत्पन्न करें
minValue
और maxValue - 1
बीच एक यादृच्छिक संख्या उत्पन्न करें।
Random rnd = new Random();
var randomBetween10And20 = rnd.Next(10, 20);
बार-बार यादृच्छिक संख्याओं का एक ही क्रम उत्पन्न करना
एक ही बीज के साथ Random
उदाहरण बनाते समय, समान संख्याएं उत्पन्न की जाएंगी।
int seed = 5;
for (int i = 0; i < 2; i++)
{
Console.WriteLine("Random instance " + i);
Random rnd = new Random(seed);
for (int j = 0; j < 5; j++)
{
Console.Write(rnd.Next());
Console.Write(" ");
}
Console.WriteLine();
}
आउटपुट:
Random instance 0
726643700 610783965 564707973 1342984399 995276750
Random instance 1
726643700 610783965 564707973 1342984399 995276750
एक साथ विभिन्न बीजों के साथ कई यादृच्छिक वर्ग बनाएं
एक ही समय में बनाए गए दो रैंडम वर्ग का बीज मान समान होगा।
System.Guid.NewGuid().GetHashCode()
का उपयोग कर System.Guid.NewGuid().GetHashCode()
एक ही समय में एक अलग बीज प्राप्त कर सकते हैं।
Random rnd1 = new Random();
Random rnd2 = new Random();
Console.WriteLine("First 5 random number in rnd1");
for (int i = 0; i < 5; i++)
Console.WriteLine(rnd1.Next());
Console.WriteLine("First 5 random number in rnd2");
for (int i = 0; i < 5; i++)
Console.WriteLine(rnd2.Next());
rnd1 = new Random(Guid.NewGuid().GetHashCode());
rnd2 = new Random(Guid.NewGuid().GetHashCode());
Console.WriteLine("First 5 random number in rnd1 using Guid");
for (int i = 0; i < 5; i++)
Console.WriteLine(rnd1.Next());
Console.WriteLine("First 5 random number in rnd2 using Guid");
for (int i = 0; i < 5; i++)
Console.WriteLine(rnd2.Next());
विभिन्न बीजों को प्राप्त करने का दूसरा तरीका यह है कि बीज मानों को पुनः प्राप्त करने के लिए दूसरे Random
उदाहरण का उपयोग किया जाए।
Random rndSeeds = new Random();
Random rnd1 = new Random(rndSeeds.Next());
Random rnd2 = new Random(rndSeeds.Next());
यह भी rndSeeds
लिए केवल बीज मूल्य निर्धारित करके सभी Random
उदाहरणों के परिणाम को नियंत्रित करना संभव बनाता है। अन्य सभी उदाहरणों को उस एकल बीज मूल्य से निर्धारित किया जाएगा।
एक यादृच्छिक चरित्र उत्पन्न करें
के बीच एक यादृच्छिक पत्र उत्पन्न a
और z
का उपयोग करके Next()
संख्या दी गई श्रेणी के लिए अधिभार, तो जिसके परिणामस्वरूप परिवर्तित int
एक करने के लिए char
Random rnd = new Random();
char randomChar = (char)rnd.Next('a','z');
//'a' and 'z' are interpreted as ints for parameters for Next()
एक संख्या उत्पन्न करें जो अधिकतम मूल्य का एक प्रतिशत है
यादृच्छिक संख्या के लिए एक सामान्य आवश्यकता यह संख्या उत्पन्न करने के लिए है जो कुछ अधिकतम मूल्य का X%
है। यह प्रतिशत के रूप में NextDouble()
के परिणाम का इलाज करके किया जा सकता है:
var rnd = new Random();
var maxValue = 5000;
var percentage = rnd.NextDouble();
var result = maxValue * percentage;
//suppose NextDouble() returns .65, result will hold 65% of 5000: 3250.