Похоже, вы пытаетесь вычислить степень 10 с помощью ^
, когда вы, вероятно, имеете в виду Math.Pow
.Используя предложенное сокращение aib , ваша строка:
array[j] = (number / (10 ^ (txtNumber.Text.Length - (txtNumber.Text.Length - j)))) % 10;
становится:
array[j] = (number / (int)Math.Pow(10, j)) % 10;
Пара других предложений:
Измените NumberControl
, чтобы вернуть логическое значение, чтобы вы могли пропустить вызов до ReadNumber
, если введенный номер слишком велик.В настоящее время он входит в ReadNumber
, даже если число превышает 7 цифр, что приводит к ошибке массива вне границ
Блок кода, начинающийся с if (txtSayi.Text.Length != 7)
, кажется избыточным.