Multiply artık TimeSpan için kullanılabilir !!!
Ancak yalnızca .NET Core ve .NET Standard için .
Yana .NET Çekirdek 2.0 (veya .NET Standard 2.1 ) başarıyla aşağıdaki kodu çalıştırabilirsiniz:
Console.WriteLine(TimeSpan.FromSeconds(45) * 3);
Sınırlamalar
Bununla birlikte, bunun yalnızca .NET Core 2.0 + ve .NET Standard 2.1 + için geçerli olduğunu ( belgede açıklandığı gibi) not etmek önemlidir .
Bugün (26 Kasım 2019) itibarıyla yukarıdaki kod en son .NET Framework sürümünde bile başarısız olacaktır : 4.8 .
Yukarıdaki kodu bir Konsol uygulamasında denerseniz, örneğin .NET Core 1.1 veya altını veya .NET Framework 4.8 veya altını çalıştırırsanız, aşağıdaki istisna atılır:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'Operator' * ',' System.TimeSpan 've' int '' türündeki işlenenlere uygulanamaz
Neden .NET Framework'te değil?
Biz .NET Framework yukarıdaki kodu neden kullanamazsınız yeryüzünde anlamak için, onu görmek için aydınlatmaktır neyi Immo diyor :
.NET Core , .NET'in açık kaynak, çapraz platform ve hızlı hareket eden sürümüdür. Yan yana doğası nedeniyle .NET Framework'e geri dönme riskini alamayacağımız değişiklikleri alabilir. Bu, .NET Core'un zamanla .NET Framework'ün alamayacağı yeni API'ler ve dil özellikleri alacağı anlamına gelir. Build'de dosya API'lerinin .NET Core'da nasıl daha hızlı olduğunu bir demo gösterdik. Aynı değişiklikleri .NET Framework'e koyarsak, mevcut uygulamaları bozabiliriz ve bunu yapmak istemeyiz.
TimeSpan.FromTicks((long)(duration.Ticks*multiplier))