Здравствуйте, Serginio1, Вы писали:
S>·>val1 := func1() // "асинхронный" вызов 1 (на самом деле, конечно же нет)
S>·>val2 := func2() // "асинхронный" вызов 2 (на самом деле, конечно же нет)
S> C# это Task.WhenAll
Зачем ты это мне рассказываешь, да ещё и фигню невтемную говоришь? В данном случае будет как-то так:
var r1 = func1();
var r2 = func2();
System.Console.WriteLine(await(r1) + await(r2));
И эти функции ДОЛЖНЫ быть объявлены как async и быть написаны правильно на всю глубину вызовов, протаскивая async повсюду. Сабж!
Это же полная Ж по сравнению с java.