Умножение теперь доступно для TimeSpan !!!
Но только для .NET Core и .NET Standard .
Начиная с .NET Core 2.0 (или .NET Standard 2.1 ) вы можете успешно запустить следующий код:
Console.WriteLine(TimeSpan.FromSeconds(45) * 3);
Ограничения
Тем не менее, важно отметить ( как описано в документе ), что это применимо только для .NET Core 2.0 + и .NET Standard 2.1 +.
На сегодняшний день (26 ноября 2019 г.) приведенный выше код не работает даже в последней версии .NET Framework : 4.8 .
Если вы попробуете приведенный выше код в консольном приложении, например, с .NET Core 1.1 или более ранней версии или .NET Framework 4.8 или более ранней версии, вы получите следующее исключение:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
'Operator '*' cannot be applied to operands of type 'System.TimeSpan' and 'int''
Почему не в .NET Framework?
Чтобы понять, почему мы не можем использовать приведенный выше код в .NET Framework, полезно узнать, что говорит Immo :
.NET Core - это кроссплатформенная быстро развивающаяся версия .NET с открытым исходным кодом. Из-за своего параллельного характера он может принимать изменения, которые мы не можем рискнуть применить обратно к .NET Framework. Это означает, что .NET Core со временем получит новые API и языковые функции, которых нет в .NET Framework. На Build мы показали демонстрацию того, как файловые API работают быстрее в .NET Core. Если мы внесем те же изменения в .NET Framework, мы можем сломать существующие приложения, а мы не хотим этого делать.