C# 多个图像随机分配给多个图片框

C# 多个图像随机分配给多个图片框,c#,winforms,picturebox,C#,Winforms,Picturebox,我正在使用windows窗体,其中winform中有20个Picturebox,项目文件夹中有20个图像。 我的问题是如何将图像随机分配给图片框。 例如:在按钮单击时,图像随机分配给Pictureboxs算法非常简单: 将20个图像放入一个数组中 洗牌 将图像分配给图片库 假设您在一个数组中生成并存储图片框,它将如下所示: string[] shuffledImages = Directory.GetFiles(".", "*.png") .OrderBy(x => Guid.Ne

我正在使用windows窗体,其中winform中有20个
Picturebox
,项目文件夹中有20个图像。
我的问题是如何将图像随机分配给图片框。
例如:在按钮单击时,图像随机分配给
Pictureboxs

算法非常简单:

  • 将20个图像放入一个数组中
  • 洗牌
  • 将图像分配给图片库
  • 假设您在一个数组中生成并存储图片框,它将如下所示:

    string[] shuffledImages = Directory.GetFiles(".", "*.png")
        .OrderBy(x => Guid.NewGuid())
        .ToArray();
    
    for (int i = 0; i < 20; i++)
        pictureBoxes[i].Image = Image.FromFile(shuffledImages[i]);
    
    string[]shuffleImage=Directory.GetFiles(“.”,“*.png”)
    .OrderBy(x=>Guid.NewGuid())
    .ToArray();
    对于(int i=0;i<20;i++)
    pictureBoxes[i].Image=Image.FromFile(shuffleImage[i]);
    

    任何其他更改或改进取决于您:)

    算法非常简单:

  • 将20个图像放入一个数组中
  • 洗牌
  • 将图像分配给图片库
  • 假设您在一个数组中生成并存储图片框,它将如下所示:

    string[] shuffledImages = Directory.GetFiles(".", "*.png")
        .OrderBy(x => Guid.NewGuid())
        .ToArray();
    
    for (int i = 0; i < 20; i++)
        pictureBoxes[i].Image = Image.FromFile(shuffledImages[i]);
    
    string[]shuffleImage=Directory.GetFiles(“.”,“*.png”)
    .OrderBy(x=>Guid.NewGuid())
    .ToArray();
    对于(int i=0;i<20;i++)
    pictureBoxes[i].Image=Image.FromFile(shuffleImage[i]);
    

    任何其他更改或改进都取决于您:)

    很有趣,但我想知道:GuiD真的是随机排序吗?独特的是,但完全没有分类??(对于20个项目来说可能没问题,但理论上怎么说呢??)-一种常见的替代方法是使用并从列表中删除一个随机元素。)谢谢这帮助我理解这个方法。@Taw我不知道这个理论,但在随机排序中使用10^36+个可能的组合似乎是一个相当大的数字。实际上,任何“随机”排序都不是随机的:)有趣,但我想知道:GuiD真的是随机排序吗?独特的是,但完全没有分类??(对于20个项目来说可能没问题,但理论上怎么说呢??)-一种常见的替代方法是使用并从列表中删除一个随机元素。)谢谢这帮助我理解这个方法。@Taw我不知道这个理论,但在随机排序中使用10^36+个可能的组合似乎是一个相当大的数字。实际上,任何“随机”排序都不是随机的:)