【发布时间】:2013-02-02 21:48:12
【问题描述】:
我希望使用this 帖子中提供的答案从列表中随机选择唯一项目。
按照所描述的方法,在我的循环的每次迭代中,我都会生成一个概率值,它是从列表中挑选当前项目的百分比机会。
我需要知道的是如何使用这个百分比值来选择(或不选择)项目。
这是我的代码,remainingIndices 是 List<int>
for (var i = 0; i < remainingIndices.Count; i++)
{
var probability = pixelsToAdd / (float)(remainingIndices.Count - i);
}
pixelsToAdd 是 120,remainingIndices.Count 是 3600。
我得到的概率值从 0.0333333351 开始
解决方案应该灵活地处理更广泛的值,最好是任何值。
谢谢
评论
对于这个问题的未来读者,我应该澄清一下,起初我认为概率值是介于 0 和 100 之间的某个百分比,但实际上它是介于 0 和 1 之间的值,因此与 Random.NextDouble() 的返回值完美匹配因此可以用于比较,如下面的答案所述。
【问题讨论】:
标签: c# probability