Herunterladen mehrerer Dateien WebClient

Ich versuche, mehrere Dateien herunterzuladen, aber es funktioniert nicht so, wie ich es mir erhofft hatte. Kann mir jemand sagen, was mit diesem Skript nicht stimmt, weil ich viele Dinge ausprobiert habe und wirklich nicht mehr weiß, was ich tun soll.

public static void DownloadFile(string url)
        {
            WebClient client = new WebClient();
            var name = url.Substring(url.LastIndexOf('/')).Remove(0, 1);
            foreach (var item in urls)
            {
                client.DownloadFile(item, "C:\\" + name);
            }
        }

        private void btnGo_Click(object sender, EventArgs e)
        {
            urls.Add("url1");
            urls.Add("url2");
            urls.Add("url3");
            Parallel.ForEach(urls,
               new ParallelOptions { MaxDegreeOfParallelism = 10 }, 
               DownloadFile);
        }
using (var sr = new StreamReader(HttpWebRequest.Create(url).GetResponse().GetResponseStream()))
            {
                using (var sw = new StreamWriter(url.Substring(url.LastIndexOf('/'))))
                {
                    sw.Write(sr.ReadToEnd());
                }
            }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage