Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpTuDm 124 of 509 menu
◀ ▶

Метод Deconstruct в C#

Кортеж - не единственный тип, который можно разложить. Публичный метод Deconstruct с параметрами out задаёт, какие части объекта попадут в переменные.

Компилятор принимает тот же синтаксис, что и для кортежа. Создадим точку и выведем сумму координат:

Point p = new Point(3, 8); (int x, int y) = p; Console.WriteLine(x + y); class Point(int x, int y) { public void Deconstruct(out int px, out int py) { px = x; py = y; } }

Сумма координат 3 и 8 - 11. Параметры Deconstruct должны быть out. Параметры в заголовке класса видны в его методах, поэтому Deconstruct читает x и y напрямую.

Класс хранит метку "beta" и число 14. Добавьте разложение на две переменные и выведите число.

Структура хранит цену 20 и количество 3. Разложите её и выведите произведение этих чисел.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить