Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [c#] random funziona?

  1. #1
    Utente di HTML.it L'avatar di krumiro
    Registrato dal
    Apr 2002
    Messaggi
    180

    [c#] random funziona?

    Questo codice mi ritorna in un 99% due numeri uguali e pochissime volte due numeri casuali diversi? Perchè?

    codice:
    using System;
    
    class MainClass
    {
    	public static int launch() {
    		Random k = new Random();
    		return k.Next(1,10000);
    	}
    	
    	public static void Main(string[] args)
    	{				
    		Console.WriteLine(launchdie());
    		Console.WriteLine(launchdie());						
    	}
    }

  2. #2
    il C# lo trattiamo nel subforum VB & .NET Framework.
    sposto la discussione.
    ...Terrible warlords, good warlords, and an english song

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [c#] random funziona?

    Originariamente inviato da krumiro
    Questo codice mi ritorna in un 99% due numeri uguali e pochissime volte due numeri casuali diversi? Perchè?
    E' molto strano. Se crei un'istanza della classe Random senza specificare parametri nel costruttore, viene utilizzato un "seme" che dipende da parametri temporali (presumo il numero di millisecondi trascorsi dall'avvio di Windows, ma non ne sono sicuro).

    Magari potresti creare un oggetto statico di tipo Random, evitando di crearlo ogni volta, poichè se il seme che viene utilizzato è lo stesso, sarà uguale anche la sequenza di numeri casuali che viene generata.

    In alternativa, ricava tu da qualche parametro di sistema o da altre variabili un seme valido e utilizzalo per costruire la classe Random e crearne un'istanza che rimarrà attiva per tutta la durata dell'applicazione (non crearla ogni volta).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.