Sieht für mich nur nach einem kleinen Designfehler aus. Ich stimme zu, dass maxValue
strikt größer als minValue
sein sollte - und es sollte eine ArgumentOutOfRangeException
auslösen, wenn sie gleich sind.
Es gibt ein paar Aspekte von Random
, die ich nicht mag - zum einen wäre es wirklich schön, es auf eine ordnungsgemäß einsteckbare (auf dokumentierte Weise) Weise zu haben, sodass Sie eine Unterklasse mit einer kryptographisch sicheren Quelle haben könnten. Es ist jetzt möglich, aber im Grunde müssen Sie zu viel über die Implementierung wissen und welche Methoden welche anderen aufrufen :(
Die Fallstricke beim Erstellen einer neuen Random
-Instanz jede Mal, wenn Sie eine Schleife durchlaufen, und die offensichtliche "Korrektur" (eine statische Variable), die nicht thread-sicher ist, sind weitere Ärgernisse.
Im Grunde bin ich nicht besonders überrascht, ein weiteres kleines Widerhaken zu sehen :(