Целочисленное деление округляет до 0. Не совсем то же самое, что брать слово (из-за того, что отрицательные числа округляют «вверх» до 0), но я предполагаю, что ваши размеры в любом случае неотрицательны.Из спецификации C # 4, раздел 7.8.2:
Деление округляет результат до нуля.Таким образом, абсолютное значение результата является наибольшим возможным целым числом, которое меньше или равно абсолютному значению отношения двух операндов.Результат равен нулю или положителен, если два операнда имеют одинаковый знак, и равен нулю или отрицанию, если два операнда имеют противоположные знаки.
(Обратите внимание, что это специально для целочисленного деления.не делайте этого!)
Таким образом, вы можете удалить вызов Math.Floor
.
Если вы также хотите получить остаток, вы можете использовать Math.DivRem
:
int remainder;
int count = Math.DivRem(Size.Width, CurrentControlSize.Width, out remainder);