खोज…


वाक्य - विन्यास

  • रैंडम ()

  • रैंडम (इंट बीज)

  • 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.


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow