Я разработчик ruby и в некоторых случаях мне нужно поменять местами цифры в нечетных местах в 2 числах в C#
.
Я кодировал в ruby основным способом, как показано ниже,
a = 35321
b = 123456
a1, b1 = a.to_s.chars, b.to_s.chars # ['3', '5', '3'. '2', '1'], ['1', '2', '3', '4', '5', '6']
n = [a1.length, b1.length].min - 1 # => 4
поменял местами ниже,
n.times do |i|
if i.odd?
temp = a1[i]
a1[i] = b1[i]
b1[i] = a1[i]
end
end
Или ниже оптимизированный код с использованием метода step
в рубине,
1.step(n,2) { |i| a1[i], b1[i] = b1[i], a1[i] }
И в конце я получаю числа в соответствии с ожиданием, как,
> a = a1.join.to_i
# => 32341
> b = b1.join.to_i
# => 153256
Моя проблема в том, что я не могу понять, как я могу сделать то же самое в C#
Ценится, если кто-либо предоставит любое предложение.