Масиви. Частина 4. Неявно типізовані масиви. Ключове слово var

Масиви. Частина 4. Неявно типізовані масиви. Ключове слово var


Зміст


1. Які змінні називаються неявно типізованими?

Неявно типізовані змінні – це змінні, для яких відсутнє задавання типу при їх оголошенні (наприклад int, float). Замість назви типу використовується ключове слово var.

При оголошенні неявно типізованої змінної тип цієї змінної визначається компілятором на основі значення яким вона ініціалізується. Якщо ініціалізуюче значення є цілочисельним, то змінна отримує тип int. Якщо ініціалізуюче значення є значенням з плаваючою комою, то змінна отримує тип double тощо.

Отже, неявно типізована змінна обов’язково має бути ініціалізована при її оголошенні.

 

2. Як оголошується неявно типізований одновимірний масив? Ключове слово var. Приклади

У мові C# можна оголошувати неявно-типізовані масиви. Оголошення неявно-типізованих масивів подібне до оголошення неявно типізованих одиночних змінних.

Загальна форма оголошення неявно типізованого одновимірного масиву:

var ім’я_масиву = new[] { значення1, значення2, ..., значенняN }

де

  • ім’я_масиву – безпосередньо ім’я масиву;
  • ­значення1, значення2, значенняN – набір значень, що отримують елементи масиву. На основі типу даних цих значень визначається тип елементів масиву.

Приклад.

// приклад оголошення неявно типізованих одновимірних масивів
var A = new[] { 5, 10, 23, 16, 8 }; // тип елементів масиву - int, кількість елементів - 5
var B = new[] { true, false, false }; // тип елементів bool, кількість елементів - 3
var C = new[] { 'A', ';', '\'', '\n', '5', 'z' }; // тип елементів char, кількість - 6
var X = new[] { 2.86, 2.0, 3.5 }; // тип елементів double, кількість - 3

int d;
bool b;
char c;
float f;

d = A[2]; // d = 23
b = B[1]; // b = false
c = C[4]; // c = '5'
f = (float)X[2]; // f = 3.5

 

3. Приклад оголошення та використання неявно типізованого двовимірного масиву
// неявно типізовані двовимірні масиви
// двовимірний масив розміром 4*3, тип елементів - int
var MI = new[,] { { 3, 5, -4 },
                  { 2, -1, 0 },
                  { 4, 9, 3 },
                  { -11, -5, 91 } };

// двовимірний масив розміром 3*4, тип елементів - char

var MC = new[,] { { '1', '2', '3', '4' },
                  { 'A', 'B', 'C', 'D' },
                  { 'e', 'f', 'g', 'h' } };
var MD = new[,] { { 0.2, 3.5 },
                  { 3.3, -3.88 } };
int i;
char c;
double d;

i = MI[2,1]; // i = 9
c = MC[0, 2]; // c = '3'
d = MD[1, 0]; // d = 3.3

 

4. Приклад оголошення та використання неявно типізованого тривимірного масиву

Оголошується тривимірний масив M розміром 2×3×4.

// тривимірний типізований масив розміром 2*3*4, тип елементів масиву double
var M = new[, ,] {
                     {
                         { 1.0, 2.3, 4.5, 9.2 },
                         { -2.339, 5.66, 101.01, 0.1 },
                         { 10.34, 11.26, -8.239, 0.2 }
                     },
                     {
                         { 0.39, -8.45, 9.34, 0.223 },
                         { 19.239, 10.65, -8.08, 44.33 },
                         { 1, 2, 3, 5 }
                     }
                 };
double d;

d = M[0, 2, 3]; // d = 0.2
d = M[0, 0, 0]; // d = 1.0

 

5. Приклад оголошення та використання неявно типізованого ступінчатого масиву

Оголошується неявно типізований ступінчатий масив, що має 3 рядки. У рядку 1 кількість елементів рівна 6. У рядку 2 кількість елементів 3. У рядку 3 кількість елементів 5.

// неявно типізований ступінчатий масив
var A = new[] {
                  new[] { 1, 3, 4, 10, 23, 46 },
                  new[] { 2, -4, 8 },
                  new[] { 0, -1, 2, -3, 0 }
              };
int d;
d = A[0][2]; // d = 2
d = A[2][3]; // d = -3


 

6. Приклад оголошення та використання неявно типізованого ступінчатого масиву масивів
// неявно типізований ступінчатий масив масивів
// масив має 2 рядки, у кожному рядку два масиви розмірами 2*3 та 2*4
var B = new[] {
                  new[,] {
                             { 11, 12, 13 },
                             { 14, 15, 16 },
                         },
                  new[,] {
                             { 21, 22, 23, 24 },
                             { 25, 26, 27, 28 }
                         }
              };
int d;

d = B[0][1, 2]; // d = 16
d = B[1][0, 3]; // d = 24

 


Зв’язані теми