Nhân hiện có sẵn cho TimeSpan !!!
Nhưng chỉ dành cho .NET Core và .NET Standard .
Vì .NET Core 2.0 (hoặc .NET Standard 2.1 ), bạn có thể chạy thành công mã sau:
Console.WriteLine(TimeSpan.FromSeconds(45) * 3);
Hạn chế
Tuy nhiên, điều quan trọng cần lưu ý ( như được mô tả trong tài liệu ) rằng điều này chỉ áp dụng cho .NET Core 2.0 + và .NET Standard 2.1 +.
Kể từ hôm nay (ngày 26 tháng 11 năm 2019), mã trên sẽ không thành công ngay cả trong phiên bản .NET Framework mới nhất: 4.8 .
Nếu bạn thử mã ở trên trong một ứng dụng Bảng điều khiển , chẳng hạn như đang chạy .NET Core 1.1 trở xuống hoặc .NET Framework 4.8 trở xuống, bạn sẽ gặp phải ngoại lệ sau:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
'Operator '*' cannot be applied to operands of type 'System.TimeSpan' and 'int''
Tại sao không có trong .NET Framework?
Để hiểu tại sao trên trái đất, chúng ta không thể sử dụng đoạn mã trên trong .NET Framework, thật tuyệt khi xem Immo nói gì :
.NET Core là phiên bản mã nguồn mở, đa nền tảng và di chuyển nhanh của .NET. Do tính chất song song của nó, nó có thể có những thay đổi mà chúng tôi không thể mạo hiểm áp dụng lại .NET Framework. Điều này có nghĩa là .NET Core sẽ nhận được các API mới và các tính năng ngôn ngữ theo thời gian mà .NET Framework không có được. Tại Build, chúng tôi đã giới thiệu bản demo cách các API tệp nhanh hơn trên .NET Core. Nếu chúng tôi đưa những thay đổi tương tự vào .NET Framework, chúng tôi có thể phá vỡ các ứng dụng hiện có và chúng tôi không muốn làm điều đó.