Загрузка файла с HTTP сервера определение статуса загрузки - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Мне необходимо чтобы программа скачивала rar файл с сервера и распоковывала его в определенную папку для скачивания файла я использую
            var url = "";
var filename = @"c:\123.rar";
var webClient = new WebClient();
var beforeProgress = 0;
webClient.DownloadProgressChanged += (s, e) =>
   {
       if (e.ProgressPercentage – 10 > beforeProgress)
       {
           beforeProgress += 10;
           Console.WriteLine("{0}%", beforeProgress);
       }
   };
webClient.DownloadFileCompleted += (s, e) => Console.WriteLine("Download completed!");
webClient.DownloadFileAsync(new Uri(url), filename);
Но при компиляции выдает ошибки и так как я впервые вижу большинство из этих ошибок и так как я нупс, я не могу самостоятельно с ними разобраться, вот кстати и они:
Ошибка 1 Непредвиденный знак "–" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 33 Launch2 Ошибка 2 Невозможно объявить локальную переменную с именем "e" в этой области видимости, т.к. она придаст другое значение "e", которая уже используется в области видимости "родительский или текущий" для обозначения чего-то другого C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 112 42 Launch2 Ошибка 3 Неявное преобразование типа "int" в "bool" невозможно C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 12 Launch2 Ошибка 4 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 14 Launch2 Ошибка 5 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 35 Launch2 Ошибка 6 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 40 Launch2 Ошибка 7 Невозможно объявить локальную переменную с именем "e" в этой области видимости, т.к. она придаст другое значение "e", которая уже используется в области видимости "родительский или текущий" для обозначения чего-то другого C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 120 40 Launch2 Ошибка 8 Недопустимый элемент "" в выражении C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 33 Launch2 Ошибка 9 Требуется ")" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 33 Launch2 Ошибка 10 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 35 Launch2 Ошибка 11 Недопустимый элемент ")" в выражении C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 54 Launch2 Ошибка 12 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 54 Launch2 Ошибка 13 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 114 55 Launch2
Да и напоследок, подкиньте кодик с помощью которого весь архив можно извлечь в определенную папку. Заранее благодарю.
Запихнул все в класс получилось так:
        private void button2_Click(object sender, EventArgs e)
        {
          downLoad();
        }
        private void downLoad()
        {
            var url = "";
            var filename = @"c:\123.rar";
            var webClient = new WebClient();
            var beforeProgress = 0;
            webClient.DownloadProgressChanged += (s, e) =>
               {
                   if (e.ProgressPercentage – 10 > beforeProgress)
                   {
                       beforeProgress += 10;
                       Console.WriteLine("{0}%", beforeProgress);
                   }
               };
            webClient.DownloadFileCompleted += (s, e) => Console.WriteLine("Download completed!");
            webClient.DownloadFileAsync(new Uri(url), filename);
        }
При этом ошибки стали такие:
Ошибка 1 Недопустимый элемент "" в выражении C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 45 Launch2 Ошибка 2 Требуется ")" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 45 Launch2 Ошибка 3 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 47 Launch2 Ошибка 4 Недопустимый элемент ")" в выражении C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 66 Launch2 Ошибка 5 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 66 Launch2 Ошибка 6 Требуется ";" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 67 Launch2 Ошибка 7 Непредвиденный знак "–" C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 45 Launch2 Ошибка 8 Неявное преобразование типа "int" в "bool" невозможно C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 24 Launch2 Ошибка 9 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 26 Launch2 Ошибка 10 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 47 Launch2 Ошибка 11 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта C:\Users\stels009\documents\visual studio 2010\Projects\Launch2\Launch2\Form1.cs 118 52 Launch2

Решение задачи: «Загрузка файла с HTTP сервера определение статуса загрузки»

textual
Листинг программы
if (e.ProgressPercentage – 10 > beforeProgress)

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы