Кастинг (плавающий) везде в C #. Лучше просто работать в парном разряде? - PullRequest
5 голосов
/ 24 ноября 2010

Работая над игрой XNA, я использую float для большинства моих числовых значений.Большинство функций C #, кажется, вводят / выводят двойники, поэтому я много пишу (плаваю).Должен ли я просто использовать Doubles или как я работаю хорошо?

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Хорошо начать с выбора по умолчанию int для целых чисел, double для чисел с плавающей запятой и decimal для десятичных чисел. Затем внесите изменения в этот выбор либо в качестве оптимизации (float занимает меньше места, чем double, поэтому, если вы храните очень большое их количество, которое может быть разумным выбором), чтобы лучше соответствовать некоторым внешним критериям, или потому что этого будет недостаточно (т. е. когда вам нужно использовать long вместо int).

2 голосов
/ 24 ноября 2010

Вы должны использовать двойные. Они более точны, чем поплавки с одинарной точностью, и накладывают дополнительные расходы.

1 голос
/ 24 ноября 2010

Если производительность - это проблема, которую вам придется измерить, если меньший объем памяти компенсирует стоимость приведений, это будет зависеть от того, сколько вы выполняете приведения.

Если производительность не является проблемой, я бы пошел с двойным, чтобы сделать код чище.

...