私はこれに対する答えを探していましたが、私が見つけたすべての議論は、私が理解できない言語であるか、各要素が独自の重みを持つコレクションを持つことに依存しています.
基本的に、0 と 10 の間の乱数を取得したいだけです。これは、5 が 0 と 10 よりも頻繁に発生するため、「中間加重」です。基本的に、任意の数値を与えることができるアルゴリズムを見つけようとしています。私が定義した最小値と最大値の間の「重み付けされた数値」と、生成されたすべての数値が適切に重み付けされます。「これについては考えたくありません。ただ座って他の人がこれを行うのを待ちます」のように聞こえるかもしれませんが、私はこれについて1時間ほど考え、検索しており、本当に迷っています. :|
最後に、(拡張メソッドを介して)呼び出すことができるようにしたい
random.NextWeighted(MIN, MAX, WEIGHT);