Zauważam, że Math.Round() jest bardziej elastyczny niż Decimal.Round(), ponieważ jest w stanie obsłużyć wszystko, co może Decimal.Round()
, ale może również wykonać te same dane wejściowe . Czy jest więc jakakolwiek sytuacja, w której używanie numeru Decimal.Round()
jest lepsze, lub używasz Math.Round()
cały czas lepszego pomysłu?Kiedy używać funkcji Decimal.Round() zamiast Math.Round()?
5
A
Odpowiedz
4
Spójrz na kodzie źródłowym .NET: http://referencesource.microsoft.com/#mscorlib/system/math.cs,4f39179a0098ab01
Decimal Math::Round(Decimal)
jest zdefiniowana jako bezpośrednie wywołanie Decimal Decimal::Round(Decimal)
więc dwa są semantyczne analogi.
Przypuszczam domyślnie użyję Decimal::Round
aby uniknąć dodatkowego wywołania funkcji, ale JIT należy zoptymalizować że z dala i tak, więc ja prawdopodobnie używać Math::Round
być spójne z innymi Math
połączeń, gdyby nie było w ogóle, w ten sam plik kodu.
Powiązane problemy
- 1. Kiedy używać "funkcji" zamiast "zabawy"?
- 2. Kiedy należy używać funkcji UserControl zamiast strony?
- 3. Kiedy używać HttpApplicationState zamiast Web.Caching.Cache?
- 4. Kiedy używać delegacji zamiast dziedziczenia?
- 5. Kiedy używać ListView zamiast RecyclerView
- 6. Kiedy używać funkcji indeksowania logicznego
- 7. PHP kiedy używać filter_var zamiast wbudowanych funkcji php
- 8. Różnica między wartością dziesiętną.Rębna i Math.Round
- 9. PHP: Kiedy używać funkcji i kiedy używać metod statycznych?
- 10. Kiedy lepiej używać zip zamiast zip?
- 11. Kiedy należy używać UIImagePickerControllerSourceTypePhotoLibrary zamiast UIImagePickerControllerSourceTypeSavedPhotosAlbum?
- 12. Kiedy używać Float32Array zamiast Array w JavaScript
- 13. Kiedy należy używać ViewData zamiast ViewModels?
- 14. Kiedy należy używać ciągów zamiast ciągów?
- 15. Kiedy należy używać tabeli HashTable zamiast HashMap
- 16. Kiedy należy używać posix_memalign zamiast malloc?
- 17. RequireJS: kiedy używać "ścieżek" zamiast "pakietów"
- 18. Kiedy należy używać HStoreField zamiast JSONField?
- 19. Kiedy używać funkcji wypalania na wiosnę
- 20. Kiedy należy używać funkcji C++ 11 * _until timeout zamiast odpowiedniej funkcji * _for?
- 21. Co używać zamiast funkcji str-utils?
- 22. Kiedy należy używać funkcji Win32 InterlockedExchange?
- 23. Kiedy używać funkcji fabrycznych Angular 2?
- 24. Kiedy należy używać funkcji document.ready jQuery?
- 25. C# - Math.Round
- 26. Jak Decimal.Round() rzucać OverflowException
- 27. Decimal.Round dla MidpointRounding
- 28. Kiedy używać mapy ArrayMap dla Androida zamiast HashMap?
- 29. CNG: Kiedy używać funkcji BCrypt * vs NCrypt * rodziny funkcji
- 30. Golang: kiedy używać wskaźników