Упражнение. Реализация инструкции foreach
Предположим, вы работаете в производственной компании. Компания должна завершить инвентаризацию склада, чтобы определить количество продуктов, готовых к отправке. В дополнение к общему количеству готовых продуктов необходимо сообщить о количестве готовых продуктов, хранящихся в каждом отдельном контейнере в вашем складе, а также о выполнении общей суммы. Этот итог будет использоваться для создания следа аудита, чтобы можно было дважды проверить работу и определить "сжатие".
Циклический переход по массиву с помощью foreach
Инструкция foreach предоставляет простой, чистый способ итерации элементов массива. Оператор foreach обрабатывает элементы массива в увеличении порядка индексов, начиная с индекса 0 и заканчивая индексом Length - 1. Она использует временную переменную для хранения значения элемента массива, связанного с текущей итерацией. Каждая итерация будет запускать блок кода, расположенный под объявлением foreach .
Вот простой пример.
string[] names = { "Rowena", "Robin", "Bao" };
foreach (string name in names)
{
Console.WriteLine(name);
}
После ключевого слова foreach блок кода, содержащий Console.WriteLine(name);, будет выполняться один раз для каждого элемента массива names. Так как среда выполнения .NET выполняет циклический переход по каждому элементу массива, значение, хранящееся в текущем элементе массива names, присваивается временной переменной name для упрощения доступа внутрь блока кода.
Если вы выполнили код, вы увидите следующий результат.
Rowena
Robin
Bao
Используйте инструкцию foreach , чтобы создать сумму всех элементов на руке в каждой ячейке хранилища.
Создание и инициализация массива int
Убедитесь, что в Visual Studio Code открыт пустой файл Program.cs.
При необходимости откройте Visual Studio Code и выполните следующие действия, чтобы подготовить файл Program.cs в редакторе:
В меню "Файл" выберите "Открыть папку".
Используйте диалоговое окно "Открыть папку", чтобы перейти к ней, а затем открыть папку CsharpProjects .
В представлении обозревателя Visual Studio Code выберите Program.cs.
В меню Выбор Visual Studio Code выберите пункт Выбрать все, а затем нажмите клавишу Delete.
Чтобы создать массив типов
int, в которых хранится количество готовых продуктов в каждом контейнере, введите следующий код:int[] inventory = { 200, 450, 700, 175, 250 };
Добавление инструкции foreach для итерации по массиву
Чтобы создать инструкцию, которая выполняет итерацию по каждому
foreachэлементу массиваinventory, введите следующий код:foreach (int items in inventory) { }Обратите внимание, что
foreachинструкция временно назначает значение текущего элемента массива переменнойintс именемitems.Убедитесь, что код соответствует следующему:
int[] inventory = { 200, 450, 700, 175, 250 }; foreach (int items in inventory) { }
Добавление переменной для суммы значения каждого элемента в массиве
Поместите курсор на пустую строку кода над инструкцией
foreach.Чтобы объявить новую переменную, представляющую сумму всех готовых продуктов в складе, введите следующий код:
int sum = 0;Убедитесь, что вы объявили переменную за пределами инструкции
foreach.Поместите курсор в блок кода инструкции
foreach.Чтобы добавить текущее значение, хранящееся в
itemsпеременнойsum, введите следующий код:sum += items;Убедитесь, что код соответствует следующему:
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; foreach (int items in inventory) { sum += items; }
Отображение окончательного значения суммы
Создайте пустую строку кода под блоком кода инструкции
foreach.Чтобы сообщить о окончательной сумме элементов в инвентаризации, введите следующий код:
Console.WriteLine($"We have {sum} items in inventory.");Убедитесь, что код соответствует следующему:
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; foreach (int items in inventory) { sum += items; } Console.WriteLine($"We have {sum} items in inventory.");В меню "Файл Visual Studio Code" нажмите кнопку "Сохранить".
В представлении EXPLORER откройте терминал в папке TestProject, щелкните правой кнопкой мыши TestProject и выберите "Открыть в интегрированном терминале".
В командной строке терминала введите dotnet run и нажмите клавишу ВВОД.
We have 1775 items in inventory.
Создайте переменную для хранения текущего номера корзины и отображения выполняемого итога
Чтобы выполнить окончательное требование проекта отчетов инвентаризации, необходимо создать переменную, которая будет содержать текущую итерацию foreach инструкции, чтобы можно было отобразить ячейку и количество готовых элементов в этом контейнере, а также выполнение всех элементов двоичных объектов, которые были учтены до сих пор.
Создайте пустую строку кода над инструкцией
foreach.Чтобы объявить
intпеременную с именемbin, которая инициализирована0, введите следующий код:int bin = 0;Вы будете использовать
binдля хранения количества корзины, инвентаризация которых в настоящее время обрабатывается.foreachВ блоке кода для увеличенияbinкаждого выполнения блока кода введите следующий код:bin++;Обратите внимание, что оператор используется
++для увеличения значения переменной на 1. Это ярлык дляbin = bin + 1.Чтобы сообщить о номере корзины, количестве готовых продуктов в ячейке и общей сумме готовых продуктов введите следующий код в
foreachблоке кода послеbin++;:Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");Этот код будет использовать переменную счетчика, временную
binпеременнуюforeachitemsи переменнуюsum, чтобы сообщить о текущем состоянии инвентаризации в хорошо отформатируемом сообщении.Убедитесь, что код соответствует следующему:
int[] inventory = { 200, 450, 700, 175, 250 }; int sum = 0; int bin = 0; foreach (int items in inventory) { sum += items; bin++; Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})"); } Console.WriteLine($"We have {sum} items in inventory.");Сохраните изменения в файле Program.cs, а затем запустите приложение.
Должен появиться следующий результат:
Bin 1 = 200 items (Running total: 200) Bin 2 = 450 items (Running total: 650) Bin 3 = 700 items (Running total: 1350) Bin 4 = 175 items (Running total: 1525) Bin 5 = 250 items (Running total: 1775) We have 1775 items in inventory.
Кратко
Вот несколько вещей, которые следует помнить об foreach инструкциях и добавочных значениях, которые вы узнали в этом уроке:
- Используйте оператор
foreachдля итерации по каждому элементу в массиве, выполняя соответствующий блок кода один раз для каждого элемента в массиве. - Оператор
foreachприсваивает значение текущего элемента в массиве временной переменной, которую можно использовать в теле блока кода. - Используйте оператор увеличения
++, чтобы добавить 1 к текущему значению переменной.