Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов ΠΈ Β«Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅Β» массивы

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ДСкларируя ссылку Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ — экзСмпляр массива, программист ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· опрСдСляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΡ… массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹. Бинтаксис объявлСния этих Ρ‚ΠΈΠΏΠΎΠ² ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° этих Ρ‚ΠΈΠΏΠΎΠ² массивов ΠΈ ΡΠΈΠ½Ρ‚аксис опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² массивов Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов ΠΈ Β«Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅Β» массивы (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Как слСдуСт ΠΈΠ· ΡΠΈΠ½Ρ‚аксичСского опрСдСлСния, ΠΏΡ€ΠΈ объявлСнии Ρ‚ΠΈΠΏΠ° массива ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько спСцификаторов размСрностСй. Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° массивов (с Ρ‚рСмя спСцификаторами размСрностСй):

int [] ["] [,] — ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ — Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° «Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int». Π’Π°ΠΊΠΎΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ массив массивов.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ массивов, входящих ΠΊΠ°ΠΊ элСмСнты Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ массив, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ ΠΌΠ°ΡΡΠΈΠ² массивов Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся «ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ». Π’Π°ΠΊΠΈΠ΅ Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ массивы Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ C# Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ jagged array (Π·ΡƒΠ±Ρ‡Π°Ρ‚Ρ‹Π΅ массивы). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π°:

int[][] j2 = new int[3][];

j2[0] = new int[] {1, 2, 3};

j2[1] = new int[] {1, 2, 3, 4, 5, 6};

j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ new Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив массивов. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ j2 — ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° массив массивов с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ new int[3][] создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-массив с Ρ‚рСмя элСмСнтами Ρ‚ΠΈΠΏΠ° «ΡΡΡ‹Π»ΠΊΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int». КаТдая ΠΈΠ· ΡΡ‚ΠΈΡ… ссылок доступна с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ выраТСния j2[0], j2[l], j2[2]. Однако Π²Π½Π°Ρ‡Π°Π»Π΅ значСния этих ссылок Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. Волько присвоив ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выраТСния «new int [] ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€», ΠΌΡ‹ ΡΠ²ΡΠ·Ρ‹Π²Π°Π΅ΠΌ ссылки с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π° ΡΡ‡Π΅Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ new Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π² ΠΊΡƒΡ‡Π΅.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ объявлСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ new ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ся) :

int[][] j3 = new int[3][].

{

new int[] {1, 2, 3},.

new int[] {1, 2, 3, 4, 5, 6},.

new int [ ] {1, 2, 3, 4, 5, 6, 7, 8, 9}.

};

ΠŸΡ€ΠΈ объявлСнии массива массивов, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² массивов, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° придСтся явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ массивов, ΠΈ ΠΈΡ… ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΡƒΠΌΠ°Π»Ρ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ значСния.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ для массива массивов Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ new, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

int[][] j4 =.

{

new int[3], new int[6], new int[9].

};

Π’ ΡΡ‚ΠΎΠΌ объявлСнии Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π·Π°Π΄Π°Π½ списком ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ массивов Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int здСсь Π·Π°Π΄Π°Π½Ρ‹ явно, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ элСмСнтов ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅.

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ (Π·ΡƒΠ±Ρ‡Π°Ρ‚Ρ‹ΠΌ) массивом рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ниТнюю Π½ΡƒΠ»Π΅Π²ΡƒΡŽ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ Π΅Π΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ присвоим Π½ΠΎΠΌΠ΅Ρ€Π° строк (Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ строк Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, начиная ΠΎΡ‚ 1). Для элСмСнтов Π½Π°Π΄ диагональю ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Как Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (число Π΅Π΅ ΡΡ‚Ρ€ΠΎΠΊ) Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ int size. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

// 0706.cs — ниТняя Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° using static System. Console; class Program {.

static void Main ().

{

int size;

do Write («size = «);

while (!int.TryParse (ReadLine (), out size) || size < 1); int[][] tre = new int[size][]; for (int j = 0; j < size; j++).

{

tre[j] = new int[j + 1]; tre[j][j] = j + 1;

}

for (int i = 0; i < tre. Length; i++, WriteLineQ) for (int j = 0; j < tre[i]. Length; j++).

Write (tre[i][j] + ««);

WriteLine («tre.Length = «+ tre. Length);

WriteLine («tre.Rank = «+ tre. Rank);

} }

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

size = 4.

  • 1
  • 0 2 0 0 3 0 0 0 4

tre.Length = 4 tre. Rank = 1.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ объявлСна ссылка tre Π½Π° ΠΌΠ°ΡΡΠΈΠ² массивов. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ new ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ· size элСмСнтов — ссылок Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт tre[j] — ссылка Π½Π° Π΅Ρ‰Π΅ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° int. Π­Ρ‚ΠΈ массивы — Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ строки Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ — Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅. Π”Π»ΠΈΠ½Π° j-ro массива Ρ€Π°Π²Π½Π° j + 1.

Π’ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ массива для опрСдСлСния числа элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство Length. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ tre. Length Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число строк ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива свойство Length Ρ€Π°Π²Π½ΠΎ числу элСмСнтов Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ» уровня массива массивов. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ tre [j]. Length позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ j-ΠΉ строки. Бвойство Rank, относящССся ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‚ΠΈΠΏΠ° int[ ][ ], Ρ€Π°Π²Π½ΠΎ 1, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ссылок Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ‹. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ДСкларируя ссылку Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ — экзСмпляр массива, программист ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· опрСдСляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΡ… массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹. Бинтаксис объявлСния этих Ρ‚ΠΈΠΏΠΎΠ² ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° этих Ρ‚ΠΈΠΏΠΎΠ² массивов ΠΈ ΡΠΈΠ½Ρ‚аксис опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² массивов Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для опрСдСлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… классов ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ… (Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ слуТСбного слова class). Однако ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚ΠΈΠΏ массивов являСтся настоящим классом ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ (ΠΊΠ°ΠΊ наслСдник) систСмного класса Array. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ наслСдником, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ массивов ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΏΠΎ-своСму Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° (см. Ρ‚Π°Π±Π». 7.1—7.3) класса Array. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ возмоТности Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ.

// 0707.cs — ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° класса Array using static System. Console; class Program {.

static void Main ().

{

doublet,] ar = {.

{10, -7, 0, 7},.

{-3, 2.099, 6, 3.901),.

{5, -1, 5, 6),.

};

WriteLine («ar.Rank = «+ ar. Rank);

WriteLine («ar.GetUpperBound (l) = «+ ar. GetUpperBound (l));

WriteLine («ar.GetLength (l) = «+ ar. GetLength (l));

for (int i = 0; i < ar. GetLength (0); i++, WriteLine ()) for (int j = 0; j <= ar. GetUpperBound (l); j++).

Write («» + ar[i, j]);

}

>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: ar. Rank = 2.

ar.GetUpperBound (l) = 3.

ar.GetLength (l) = 4.

  • 10 -7 0 7
  • -Π’ 2,099 Π± 3,901
  • 5 -15 6

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° double. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΡΠ½ΡΡŽΡ‚ особСнности свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‚ΠΈΠΏΠ° массивов doublet,], ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ° Array. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ GetUpperBound (l) — вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ индСкса, Π° Π½Π΅ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этого индСкса.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ