Domanda

ho bisogno di sapere l'effetto delle diverse piattaforme sull'oggetto System.Random (Silverlight). È la sequenza ha creato lo stesso su Mac, PC e attraverso 32/64 bit?

È stato utile?

Soluzione

L'algoritmo per generare numeri casuali è codificato nella fase di esecuzione. Quindi indipendentemente dalla piattaforma si dovrebbe vedere lo stesso insieme di numeri "casuali" per un dato valore del seme.

Il comportamento extact del costruttore predefinito per Random (dove il valore di inizializzazione è tempo base) può variare leggermente da una piattaforma all'altra. Per esempio la creazione rapida di istanze di Random possono creare alcuni casi che generano la stessa sequenza, la distribuzione di questi "doppioni" possono essere diversi a tutti i tipi di condizioni, tra cui la piattaforma.

Altri suggerimenti

Scusate la mia risposta "stupido", ma a mio avviso, i numeri casuali devono sempre essere esaminate casuale e quindi le sequenze create deve essere trattato come NON stessa attraverso qualsiasi "dominio". So che il NET (o Silverlight) generatori di numeri casuali utilizzano un algoritmo pseudo-casuale a seconda del valore di inizializzazione e genera la stessa sequenza di numeri quando si utilizza lo stesso valore di seme, ma appena non fare affidamento su questo fatto.

Sembra che avete una sorta di "aspettativa" quando è necessario disporre di numeri casuali sincronizzati tra diverse piattaforme, e utilizzando un generatore di numeri casuali per gli andamenti dei valori attesi sembra strano per me.

Se potete dirci di più sul tuo caso d'uso, forse possiamo trovare un'altra soluzione più solido?

Appena il mio parere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top