У меня есть два переменные Я хочу выключатель которые строки. Они содержат и первые и второй имя.Как поменять две строки?
Я хотел переключить их, используя least possible amount of lines
, поэтому я не создал третью переменную.
Я пробовал использовать xor swap
, но в сообщении об ошибке говорится, что Джеймс Адамс не может быть преобразован в тип long
.
Является xor
только для целых, если да, то как я могу поменять переменные эффективно? Спасибо, любые идеи оценили. Я добавлю код, если это будет полезно.
Plutonix предложил names = names.OrderBy(Function(o) o).ToArray()
который работает. Благодарю. Может ли кто-нибудь объяснить, как это происходит, потому что я этого раньше не видел?
For counter1 = 0 to 5
For counter2 = counter1 + 1 to 5
If names(counter1) > names(counter2) then
names = names.OrderBy(Function(o) o).ToArray()
End if
Next
Next
Извините, что проблема форматирования или обвинение Apple.
рассмотреть вопрос о добавлении ваших кодов. –
что заставляет вас думать, что третья переменная неэффективна? – Plutonix
вас беспокоят используемые линии или использование памяти? последний не сделал бы различий, так как любой другой способ должен будет использовать какую-то переменную, так или иначе. Что касается строк, я не нахожу проблем с 3 строками, чтобы делать то, что вы хотите. Xor - побитовая операция, 0Xor1 = 1, 1Xor1 = 0 .... –