170 похожих чатов

Всем привет на собесе был вопрос,как с поменять значения двух

переменных без использования дополнительной.Ответил с помощью умножения/деления но интересно есть ли какая структура позволяющея сделать это без математики ,аналог destructuring из JS?

26 ответов

18 просмотров

Но ведь в шарпе есть же destructing и туплы... (a, b) = (b, a)

Oleg-Livcha Автор вопроса
SomebodyOdd
Но ведь в шарпе есть же destructing и туплы... (a,...

Спасибо, мимо проходил и узнал для себя нового👍

Никита Горкавчук
Спасибо, мимо проходил и узнал для себя нового👍

Ну, может вот тут ещё чего нового узнаете? =) https://docs.microsoft.com/ru-ru/dotnet/csharp/whats-new/csharp-version-history

SomebodyOdd
Но ведь в шарпе есть же destructing и туплы... (a,...

а сам тупл переменной не считается да?)

Mikhail Lomonosov
а сам тупл переменной не считается да?)

Э? Тупл - это тупл... =) Или про что речь?

SomebodyOdd
Э? Тупл - это тупл... =) Или про что речь?

разве ты не введешь 3 переменую типа тупл при этом?

Mikhail Lomonosov
разве ты не введешь 3 переменую типа тупл при этом...

Ээээ. Где? Вы тут где-то видите объявление переменной

SomebodyOdd
Ээээ. Где? Вы тут где-то видите объявление перемен...

https://sharplab.io/#v2:CYLg1APgAgTADAWAFCwIzOQSwHYBcAEAhvgLz4CsA3FnvgEan4Bs1SAFIQDR0CUjbdToR6sgA===

Mikhail Lomonosov
https://sharplab.io/#v2:CYLg1APgAgTADAWAFCwIzOQSwH...

Ну щас бы в дебаге смотреть вывод компилятора

Это делается при помощи исключающего или, если что

Oleg-Livcha Автор вопроса
Джайпхал
Это делается при помощи исключающего или, если что

Вопрос о не булеановом значение а в принципе

Oleg Livcha
Вопрос о не булеановом значение а в принципе

Побитовые операции применимы к любому типу, на то они и побитовые

Oleg Livcha
Вопрос о не булеановом значение а в принципе

Для ссылочных типов поменяются местами ссылки

Oleg-Livcha Автор вопроса
Джайпхал
Побитовые операции применимы к любому типу, на то ...

Аа понял,ну это слишком круто ,туплы вполне достаточны но идея +

(a, b) = (b, a)

Oleg-Livcha Автор вопроса
Space Dev
(a, b) = (b, a)

Спасибо !уже подсказали .

Oleg Livcha
Спасибо !уже подсказали .

Да, но при компиляции там все равно появится 3я. Если вопрост именно через 2, каноничный ответ чепез сложение

Larymar GC
Да, но при компиляции там все равно появится 3я. Е...

Сложение может привести в переполнению

Джайпхал
Сложение может привести в переполнению

Конечно, у всех подходов свои проблемы

Джайпхал
У xor нет проблем

Выше уже обсудили, что нужно провалиться в unsafe контекст

Larymar GC
Выше уже обсудили, что нужно провалиться в unsafe ...

Сложение тоже только к числам применимо Для чисел unsafe не нужен

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта