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

Изменение массива в функции в C#

Параметр int[] указывает на те же ячейки, что и переменная вызывающего кода. Запись по индексу внутри функции меняет массив снаружи:

Запишем функцию, которая обнуляет первый элемент, и проверим результат после вызова:

void ZeroFirst(int[] nums) { nums[0] = 0; } int[] data = [1, 2, 3]; ZeroFirst(data); Console.WriteLine(data[0]); // prints 0

Если внутри функции параметру присвоить новый массив, изменится только локальное имя параметра. Внешняя переменная по-прежнему указывает на старый массив:

void Replace(int[] nums) { nums = [9, 9, 9]; } int[] data = [1, 2, 3]; Replace(data); Console.WriteLine(data[0]); // prints 1

Определите, не запуская код, что выведется в консоль:

void Mark(int[] nums) { nums[1] = 9; } int[] data = [4, 5, 6]; Mark(data); Console.WriteLine(data[1]);

Определите, не запуская код, что выведется в консоль:

void Reset(int[] nums) { nums = [0, 0, 0]; } int[] data = [4, 5, 6]; Reset(data); Console.WriteLine(data[0]);
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить