我在文件夹中有一组图像,我想在一个条件下随机显示图像,用户应该能够说出无法重复图像的次数。即如果有10个图像和用户输入3那么它应该显示最近未以随机顺序显示的其他图像(最近显示的3个除外)。
答案 0 :(得分:2)
制作一个包含所有文件名的List
。让n
成为同一图像的两个显示之间的最小图像数。
var list = new List<string>();
// Fill list with all filenames ...
然后只需随机选择范围[0..len(List)-n]
中的一个图像
// Initialization of random number generator just once...
var rand = new Random();
// ...
var index = rand.Next(list.Count - n);
var nextImage = list[index];
现在,删除图像并将其放在列表的末尾。
list.RemoveAt(index);
list.Add(nextImage);
nextImage
现在包含您的下一张图片。