Ho una funzione ricorsiva e all'interno della funzione viene selezionato un elemento casuale da una matrice, ma indipendentemente da ciò che faccio continuo a ricevere lo stesso seme.Funzione ricorsiva per seme casuale. Come lo faccio?
static Random rand = new Random();
public String spintaxParser(String s)
{
if (s.Contains('{'))
{
int closingBracePosition = s.IndexOf('}');
int openingBracePosition = closingBracePosition;
while (!s[openingBracePosition].Equals('{'))
openingBracePosition--;
String spintaxBlock = s.Substring(openingBracePosition, closingBracePosition - openingBracePosition + 1);
String[] items = spintaxBlock.Substring(1, spintaxBlock.Length - 2).Split('|');
s = s.Replace(spintaxBlock, items[rand.Next(items.Length)]);
return spintaxParser(s);
}
else
{
return s;
}
}
Qual è il modo migliore per gestire Random in una funzione ricorsiva?
Avete qualche codice? –
Hai provato a cercare una risposta a questo? Ci sono così tante domande sull'argomento dell'uso di Random - ad esempio, http://stackoverflow.com/questions/4855756/random-number-generation-same-number-returned (che a sua volta si riferisce ad altre domande correlate). – AAT
Avremo bisogno di qualche codice sorgente per essere davvero in grado di aiutare. –