Не вникая в суть вашего кода, конкретно эта ошибка в следующем:
У вас оператор, внедренный в if, является объявлением переменной (и ее инициализацией). Ругается, потому что операция бессмысленная. После выхода из блока if результат потеряется. Поэтому сначала объявляем переменную, а потом уже внутри if инициализируем:
Task<string> result;
if (tmp.IsSuccessStatusCode)
result = tmp.Content.ReadAsStringAsync();
Либо используем результат внутри блока if:
if (tmp.IsSuccessStatusCode) {
var result = tmp.Content.ReadAsStringAsync();
Console.WriteLine(result.Result);
}