我在wpf
应用程序中有这个颜色列表。
我想要的是每次调用函数时随机选择一种颜色,但我不希望选择一种颜色比按时更多。
这是我的代码,没有做我想要的。
var polyline = new MapPolyline();
polyline.Stroke = GetRandomPolylineColor();
private Brush GetRandomPolylineColor()
{
var brushes = new Brush[]
{ Brushes.Blue,
Brushes.Black,
Brushes.Red,
Brushes.Brown,
Brushes.Green,
Brushes.HotPink,
Brushes.Khaki,
Brushes.IndianRed,
Brushes.LimeGreen,
Brushes.Orange
};
var rnd = new Random();
return brushes[rnd.Next(brushes.Length)];
}
答案 0 :(得分:3)
您所描述的内容称为无需替换的抽样。这已在SO帖Unique (non-repeating) random numbers in O(1)和Algorithm for sampling without replacement中得到解答。