L'ensemencement d'un générateur de nombres pseudo-aléatoires en C #

J'ai besoin d'une graine pour une instance de C#'s Random classe, et j'ai lu que la plupart des gens utilisent à l'heure actuelle de tiques compteur de cette. Mais c'est une valeur 64 bits et de la semence doit être une valeur de 32 bits. Maintenant, j'ai pensé que le GetHashCode() méthode, qui renvoie un intdevrait raisonnablement distribué valeur de l'objet, et cela peut être utilisé pour éviter d'utiliser seul le bas de la 32-bits du nombre de cycles. Cependant, je ne pouvais pas trouver quelque chose à propos de la GetHashCode() de la Int64 type de données.

Alors, je sais qu'il sera pas beaucoup d'importance, mais les travaux suivants aussi bon que je le pense (je ne peux pas l'essai-et-erreur aléatoire), ou peut-être qu'il fonctionne de la même que l'utilisation de (int)DateTime.Now.Ticks comme la graine? Ou peut-être même pire? Qui peut jeter quelque lumière sur ce point.

int seed = unchecked(DateTime.Now.Ticks.GetHashCode());
Random r = new Random(seed);

Edit: Pourquoi j'ai besoin d'une graine et de ne pas laisser le Random() constructeur de faire le travail? J'ai besoin d'envoyer la graine à d'autres clients qui utilisent les mêmes semences pour la même séquence aléatoire.

source d'informationauteur Virtlink