Должен ли я использовать uint, если моя функция логически предназначена для возврата только натуральных чисел? - PullRequest
1 голос
/ 04 июня 2011

Давайте рассмотрим функцию, которая получает дату рождения человека и возвращает его возраст (в целых годах). В случае, если дата в будущем это бросает исключение. Какой тип он должен возвращать - uint или int? Uint кажется логичным, как естественное ограничение. Или лучше использовать более обычный int?

Ответы [ 2 ]

6 голосов
/ 04 июня 2011

числа без знака не соответствуют CLS, поэтому в целом: нет, не используйте их.
Конечно, не в публичных интерфейсах.

0 голосов
/ 04 июня 2011

да используйте uint, потому что uint допускает больший диапазон цифр, примерно в 2 раза больший диапазон, поэтому, если все ваши числа положительные, они большие, используйте uint, но если вы думаете, что они могут быть отрицательными и никогда не могут быть большими1000000 - это большое значение), затем используйте int, поскольку это более безопасно и защищено от ошибок для значений переменных.

...