3
我即將開始在C#中進行一些數值分析工作,並且正在考慮使用運算符重載和類,例如Distance
,Speed
,Acceleration
等,以及適當定義的運算符重載,以確保所有自然操作都會被許可,並都錯的人被禁止,這樣c#中有類庫的距離,速度,加速度等嗎?
speed = distance/time
會表現爲人們所期望的,但
acceleration = distance/time
不會編譯(或至少拋出一個異常)。
我不能成爲第一個想要這個,所以我想知道如果有人知道一個合適的圖書館可用?
它是F#(因此不是答案),但您可能對F#的度量單位感興趣。 http://msdn.microsoft.com/en-us/library/dd233243.aspx和http://blogs.msdn.com/b/andrewkennedy/archive/2008/08/29/units-of-measure-in- F部件酮引入-units.aspx。它解決了你的問題,但你必須使用F#。也看看http://stackoverflow.com/questions/348853/units-of-measure-in-c-almost – Ray
我認爲你會更好的實現這個方法,即。 'GetSpeed(雙倍距離,雙倍時間){返回距離/時間; }'。你在這裏提出的建議只會讓事情變得比他們需要的更復雜。 –
所有這些例子忽略速度實際上是一個載體... –