русский
Germany.ruForen → Архив Досок→ Programmierung

Присваиваем сразу много значений кортежами

09.03.23 16:12
Re: Присваиваем сразу много значений кортежами
 
dudecarl12 прохожий
in Antwort alex445 03.03.23 17:27

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

(а, б) = МойМетод();

Это присваивание использует метод, называемый "распаковка кортежа", чтобы присвоить значения, возвращаемые MyMethod(), переменным a и b. Этот метод удобен и лаконичен, но может потреблять больше памяти, чем второй метод присваивания. Это связано с тем, что значения, возвращаемые MyMethod(), сначала упаковываются во временный объект кортежа, а затем распаковываются в отдельные переменные.

результат вар = MyMethod();
а = результат.MyA;
б = результат.MyB;

Это присваивание сначала присваивает результат MyMethod() переменной с именем result, которая предположительно содержит два свойства с именами MyA и MyB. Затем он присваивает значения этих свойств переменным a и b соответственно. Этот метод может иметь меньшее потребление памяти, чем первый метод, поскольку он не создает временный объект кортежа.

 

Sprung zu