随机数和单数

时间:2016-07-01 20:41:56

标签: c# winforms

我有40个名字的列表,40个图片框的列表,我想在图片框中随机和唯一地显示这些名称。

我试过但我的努力毫无价值。任何帮助都会得到满足。

        Random r = new Random();

        List<int> list = Enumerable.Range(1, box.Count).ToList();
        List<int> rndList = new List<int>();
        Random rnd = new Random();
        int no = 0;
        for (int i = 0; i < box.Count; i++)
        {
            no = rnd.Next(0, list.Count);
            rndList.Insert(i, no);
            list.Remove(no);
        }

        for (int i = 0; i < box.Count; i++)
        {
            System.Reflection.Assembly sysrefass = System.Reflection.Assembly.GetExecutingAssembly();
            var rm = new System.Resources.ResourceManager(sysrefass.GetName().Name + ".Properties.Resources", ((System.Reflection.Assembly)sysrefass));
            box[i].Image = (Image)rm.GetObject(rndList[i].ToString());

        }

1 个答案:

答案 0 :(得分:-1)

按顺序填写box[],例如

box[i].Image = (Image)rm.GetObject(i.ToString());

然后使用OrderBy()随机值或Guid

var randomizedBox = box.OrderBy(b => rnd.Next).ToArray();
var randomizedBox2 = box.OrderBy(b => Guid.NewGuid()).ToArray();