Зміст курсу
Основи C#
Основи C#
Практика з багатовимірними масивами
Іноді корисно оголошувати константи для індексації багатовимірних масивів. Нижче наведено масив з вікторини минулого розділу:
main
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Ми створили дві константи FRUITS
та VEGETABLES
зі значеннями 0
та 1
, що представляють рядки 0
для фруктів та 1
для овочів у масиві foods
.
Отже, якщо нам потрібно отримати доступ до елемента "Cabbage" з овочів, ми можемо просто написати:
main
foods[VEGETABLES][1];
Цей трюк може бути не надто корисним у менших масивах, як цей, однак при роботі з більш складними масивами, такі константи можуть допомогти легко отримати доступ до елементів масиву, щоб нам не потрібно було запам'ятовувати, який рядок містить які елементи - у випадку, якщо ми категоризували елементи в рядках.
Тепер завдання полягає в тому, щоб створити двовимірний масив типу string
і назвати його productOptions
, з формою 4x3 (4 рядки, 3 стовпці). Ініціалізуйте його наступними даними:
Рядок 1: "Red", "Green", "White" Рядок 2: "Square", "Rectangle", "Sphere" Рядок 3: "Thick", "Medium", "Thin" Рядок 4: "Printed", "Crafted", "None"
Отримайте доступ до елемента "Crafted" через індексацію та виведіть його. Використовуйте відповідну константну змінну для цього.
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
- Для оголошення багатовимірного масиву ми додаємо коми всередині квадратних дужок (
[]
) залежно від розмірності масиву.
Наприклад, 3D масив цілих чисел буде оголошено як int[,,] arrayName = { ... };
.
2. Використання змінних або константних значень в індексації є допустимим.
Наприклад, якщо у нас є масив int[] exampleArray = { 1, 2, 3, 4, 5 };
і константа const int someIndex = 2
, то допустимо написати exampleArray[someIndex]
для доступу до елемента 3 з масиву.
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
Дякуємо за ваш відгук!