Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Random.Next (Int32, Int32)

 

Data di pubblicazione: ottobre 2016

Restituisce un intero casuale all'interno di un intervallo specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public virtual int Next(
	int minValue,
	int maxValue
)

Parametri

minValue
Type: System.Int32

Ha restituito il limite inferiore inclusivo del numero casuale.

maxValue
Type: System.Int32

Ha restituito il limite superiore esclusivo del numero casuale. maxValuedeve essere maggiore o uguale a minValue.

Valore restituito

Type: System.Int32

Intero con segno a 32 bit maggiore o uguale a minValue e minore di maxValue; ovvero, l'intervallo di valori restituiti include minValue ma non maxValue. Se minValue è uguale a maxValue, minValue viene restituito.

Exception Condition
ArgumentOutOfRangeException

minValue è maggiore di maxValue.

Il Next(Int32, Int32) overload restituisce numeri interi casuali che vanno da minValue a maxValue – 1. Tuttavia, se maxValue è uguale a minValue, il metodo restituisce minValue.

A differenza di altri overload di Next (metodo), che restituiscono valori solo un valore non negativo, questo metodo può restituire un intero casuale negativo.

Note per gli eredi:

A partire da .NET Framework versione 2.0, se si deriva una classe da Random ed eseguire l'override il Sample (metodo), la distribuzione fornita dall'implementazione della classe derivata il Sample metodo non viene utilizzato nelle chiamate all'implementazione della classe base il Random.Next(Int32, Int32) overload del metodo se la differenza tra il minValue e maxValue parametri è maggiore di Int32.MaxValue. La distribuzione uniforme restituita dal tipo di base Random classe viene utilizzata. Questo comportamento consente di migliorare le prestazioni complessive della Random classe. Per modificare questo comportamento per chiamare il Sample metodo nella classe derivata, è inoltre necessario sostituire il Random.Next(Int32, Int32) overload del metodo.

L'esempio seguente usa il Random.Next(Int32, Int32) metodo per generare numeri interi casuali con tre intervalli distinti. Si noti che l'output dell'esempio esatto dipende dal valore di inizializzazione fornito dal sistema passato al Random costruttore della classe.

using System;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      Console.WriteLine("\n20 random integers from -100 to 100:");
      for (int ctr = 1; ctr <= 20; ctr++) 
      {
         Console.Write("{0,6}", rnd.Next(-100, 101));
         if (ctr % 5 == 0) Console.WriteLine();
      }

      Console.WriteLine("\n20 random integers from 1000 to 10000:");      
      for (int ctr = 1; ctr <= 20; ctr++) 
      {
         Console.Write("{0,8}", rnd.Next(1000, 10001));
         if (ctr % 5 == 0) Console.WriteLine();
      }

      Console.WriteLine("\n20 random integers from 1 to 10:");
      for (int ctr = 1; ctr <= 20; ctr++) 
      {
         Console.Write("{0,6}", rnd.Next(1, 11));
         if (ctr % 5 == 0) Console.WriteLine();
      }
   }
}
// The example displays output similar to the following:
//       20 random integers from -100 to 100:
//           65   -95   -10    90   -35
//          -83   -16   -15   -19    41
//          -67   -93    40    12    62
//          -80   -95    67   -81   -21
//       
//       20 random integers from 1000 to 10000:
//           4857    9897    4405    6606    1277
//           9238    9113    5151    8710    1187
//           2728    9746    1719    3837    3736
//           8191    6819    4923    2416    3028
//       
//       20 random integers from 1 to 10:
//            9     8     5     9     9
//            9     1     2     3     8
//            1     4     8    10     5
//            9     7     9    10     5

Nell'esempio seguente genera l'errore di un intero casuale che viene utilizzato come indice per recuperare un valore stringa da una matrice. Poiché l'indice più alto della matrice è una minore la sua lunghezza, il valore della Array.Length proprietà deve essere fornita come un il maxValue parametro.

using System;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      string[] malePetNames = { "Rufus", "Bear", "Dakota", "Fido", 
                                "Vanya", "Samuel", "Koani", "Volodya", 
                                "Prince", "Yiska" };
      string[] femalePetNames = { "Maggie", "Penny", "Saya", "Princess", 
                                  "Abby", "Laila", "Sadie", "Olivia", 
                                  "Starlight", "Talla" };                                      

      // Generate random indexes for pet names.
      int mIndex = rnd.Next(0, malePetNames.Length);
      int fIndex = rnd.Next(0, femalePetNames.Length);

      // Display the result.
      Console.WriteLine("Suggested pet name of the day: ");
      Console.WriteLine("   For a male:     {0}", malePetNames[mIndex]);
      Console.WriteLine("   For a female:   {0}", femalePetNames[fIndex]);
   }
}
// The example displays the following output:
//       Suggested pet name of the day:
//          For a male:     Koani
//          For a female:   Maggie

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: