Хорошо, вы можете посмотреть в исходном коде файл Random.java и скопировать алгоритм, константы и т. Д., Но Random использует System.nanoTime в своем конструкторе, поэтому вы не получите те же результаты.
От java.util.Random
public Random () {
this (++ seedUniquifier +
System.nanoTime ()); }
Я бы совсем не удивился, если бы источник в C # показал вам нечто подобное.
Редактировать: игнорировать, как уже указывалось, конструктор, который принимает входное начальное число, никогда не обращается ко времени.