Весь смысл основанного на await кода состоит в том, что он действительно «выполняет следующий материал, когда это будет завершено» (обратный вызов), и не »блокирует текущий нить, пока это не закончится ".
Таким образом, с Ten2SevenAsync
вы получаете задачу , но эта задача еще не завершена. Запись задачи в консоль не означает, что она ожидает ее завершения. Если вы хотите заблокировать выполнение задачи:
static void Main() {
Program p = new Program();
var s = p.Ten2SevenAsync();
Console.WriteLine(s.Result);
}
или более явно:
static void Main() {
Program p = new Program();
var s = p.Ten2SevenAsync();
s.Wait();
Console.WriteLine(s.Result);
}