Как правильно перегрузить оператор сложения двух строк - C#
Формулировка задачи:
Здравствуйте !
Я пытаюсь реализовать один алгоритм , в котором идет работа с двоичной сс.
Но не знаю , как правильно перегрузить оператор сложения двух строк.
К примеру у меня есть массив стрингов {01;001;001}. Как мне перегрузить оператор так , чтобы при сложении двух единиц я получил 10 ?
Решение задачи: «Как правильно перегрузить оператор сложения двух строк»
textual
Листинг программы
public static StringNumber operator +(StringNumber x, StringNumber y) { int max = Math.Max(x.value.Length, y.value.Length); byte[] result = new byte[max + 1]; for (int i = x.value.Length - 1, j = result.Length - 1; i >= 0; i--, j--) result[j] = (byte)(x.value[i] - '0'); for (int i = y.value.Length - 1, j = result.Length - 1; i >= 0; i--, j--) result[j] += (byte)(y.value[i] - '0'); for (int i = result.Length - 1; i > 0; i--) { if (result[i] > 1) { result[i] = 0; result[i - 1] += 1; } } return string.Join(string.Empty, result).TrimStart('0').PadLeft(max, '0'); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д