C# 试图从网站下载图片,但循环从未结束为什么?

C# 试图从网站下载图片,但循环从未结束为什么?,c#,.net,winforms,C#,.net,Winforms,即使在一次迭代后bmp不是空的,我也会在bmp上得到异常。保存行:路径中的非法字符 我在名字里看到了395937。拇指?d=1348638415 另一个问题是,如果我没有使用这些行: using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { if (bmp != null)

即使在一次迭代后bmp不是空的,我也会在bmp上得到异常。保存行:路径中的非法字符

我在名字里看到了395937。拇指?d=1348638415

另一个问题是,如果我没有使用这些行:

using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
                {
                    if (bmp != null)
                    {
                        bmp.Save(@"d:\files\savedlinks\" + img.nameProp);
                        pictureBox1.Image = bmp;
                    }
                }
如果删除这两行并在该行上使用断点:

bmp.Save(@"d:\files\savedlinks\" + img.nameProp);
pictureBox1.Image = bmp;
它将永远停在这条线上它将永远不会停在这条线上它将一次又一次地停在这条线上它不会停在前面而是只停在这条线上


我想做的是从每个链接下载图像,并选择只下载jpg或png等特定图像类型。

路径错误中的非法字符是因为您的文件名不是要保存的有效文件名,因为它包含无效字符,如:“?”

为什么循环是无止境的,这需要更多的调试,一步一步地调试代码,检查第一个循环上的图像数量

  • 这是一个巨大的意外数量的图像吗
  • 每个循环上的数字是否增加?->这可能是一个参考问题

右侧有326幅图像。现在我知道为什么要花这么长时间了。我该如何过滤以使其保存bmp。仅保存jpg类型的图像?我想您可以通过使用Path类检查文件扩展名来做到这一点
bmp.Save(@"d:\files\savedlinks\" + img.nameProp);
pictureBox1.Image = bmp;
if (bmp != null)