Явное приведении значимых типов в C#
Выполняя явные преобразования числовых типов мы можем столкнуться с ситуацией, при которой исходное значение не может корректно отобразиться на требуемый нам тип. В таком случае дальнейшие выполнение приведения осуществляется по следующим правилам:
🔸 Целочисленное к целочисленному - урезание ведущих битов;
🔸
🔸
🔸
🔸
Также не стоит забывать и об операторе
Подробнее с правилами явного приведения вы сможете ознакомиться уже в документации.
💬 На мой взгляд, необходимости заучивать все эти правила нет, однако, помнить - безусловно стоит. Если у вас ещё остались вопросы по преобразованиям или числам с плавающей точкой, то я настоятельно рекомендую вам ознакомиться со следующей темой самостоятельно - Difference between decimal, float and double in .NET?.
#data_types
Выполняя явные преобразования числовых типов мы можем столкнуться с ситуацией, при которой исходное значение не может корректно отобразиться на требуемый нам тип. В таком случае дальнейшие выполнение приведения осуществляется по следующим правилам:
🔸 Целочисленное к целочисленному - урезание ведущих битов;
🔸
Decimal
, float
и double
к целочисленному - обрезание дробной части и ведущих битов;🔸
Double
к float
- округление или Infinity
в случае переполнения;🔸
Float
и double
к decimal
- округление;🔸
Decimal
к float
или double
- потеря точности;Также не стоит забывать и об операторе
checked
, который выбрасывает исключение в случае переполнения.Подробнее с правилами явного приведения вы сможете ознакомиться уже в документации.
💬 На мой взгляд, необходимости заучивать все эти правила нет, однако, помнить - безусловно стоит. Если у вас ещё остались вопросы по преобразованиям или числам с плавающей точкой, то я настоятельно рекомендую вам ознакомиться со следующей темой самостоятельно - Difference between decimal, float and double in .NET?.
#data_types