2

私はいくつかのアプリケーションで次の文をサポートしているのを見てきました。

Random rnd = new Random();
if (rnd.NextDouble() < 1)
{
    ' Do stuff
}

これの目的は何でしょうか?rndは、常に1未満の値を返します。私が考えることができる唯一のことは、Randomをモックすると、コードの一部のセクションを非アクティブ化できるということです。

どう思いますか?このようなものを見つけましたか?

編集:重要なのは、この文はコードの異なるが関連するセクションにあり、常に機能全体をカバーしているということです。そういうわけで私はそれが故意にコード化されたと思う傾向があります。そして、コードはある程度の品質を持っているようです。これは、他のすべてのコードを提供して驚いたのは間違いでした。

4

2 に答える 2

3

よくわかりませんが、このチェックは必須ではありません。rnd.NextDouble常に 0.0 から 1.0 の範囲で返されます。

Random.NextDouble メソッド - MSDN

0.0以上 1.0 未満の倍精度浮動小数点数。

于 2012-10-23T12:11:50.317 に答える
1

Random問題の が実際に であると仮定すると、System.Randomこれを持つ機能的な理由はわかりません。

1私が推測できるのは、おそらくライターは、(デバッグ/開発中に) 条件付きで ( to を変更することによって0) またはある時間だけ ( 1to の間の値を変更すること0によって) 簡単に実行できるコードブロックを望んでいたということ1です。しかし、実際には、これはよく知られたイディオムではないので、それを書いた人に尋ねる必要があります。

于 2012-10-23T12:31:20.783 に答える