Π Π°Π±ΠΎΡ‚Π° с коллСкциями Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Π’ процСссС написания ΠΊΠΎΠ΄Π° программисты часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, особСнно ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ слоТных структурах Π΄Π°Π½Π½Ρ‹Ρ…. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ быстро ΠΈΠ½ΡΠΏΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массивы Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, позволяСт сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° поиск логичСских ошибок ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ повСдСния систСмы.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ встроСн Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнтарий для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Однако, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ спСциалисты часто Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±ΠΈΠ»ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ, Π½Π΅ зная, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ элСмСнтС Массив. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС доступныС способы просмотра содСрТимого, Ρ‚ΠΈΠΏΡ‹ отобраТСния ΠΈ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ структурами.

НСобходимо ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ интСрфСйс ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ интСрфСйса (Вакси ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ развития экосистСмы 1Π‘.

Запуск Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ установка Ρ‚ΠΎΡ‡Π΅ΠΊ останова

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСанс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· мСню ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³ΠΎΡ€ΡΡ‡ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5. Π‘Π΅Π· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ просмотр Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌ элСмСнтом являСтся установка Ρ‚ΠΎΡ‡ΠΊΠΈ останова (breakpoint). ИмСнно Π² этой строкС ΠΊΠΎΠ΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ приостановится, ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ памяти. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ, просто ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° сСром ΠΏΠΎΠ»Π΅ слСва ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ происходит Ρ€Π°Π±ΠΎΡ‚Π° с вашим массивом.

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ массив ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ Π’ΠΎΡ‡ΠΊΠ° останова ΠΈΠ· контСкстного мСню Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° модуля. ПослС установки красной ΠΌΠ΅Ρ‚ΠΊΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния достигнСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ строки, систСма ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠ°ΡƒΠ·Ρ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° останова установлСна Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° измСнСния массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Если ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ послС Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚ΡŒ поиск ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ошибки.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ остановки ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ откроСтся панСль ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Π—Π΄Π΅ΡΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ контСкста. Если ваш массив объявлСн локально Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π² спискС. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΈΠ»ΠΈ сСкции, Π² зависимости ΠΎΡ‚ настроСк интСрфСйса.

πŸ“Š Какой способ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π’ΠΎΡ‡ΠΊΠΈ останова
ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
Π–ΡƒΡ€Π½Π°Π» рСгистрации
Консоль кода

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΠΊΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ навигация ΠΏΠΎ структурС

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ инструмСнтом для Π°Π½Π°Π»ΠΈΠ·Π° являСтся ΠΎΠΊΠ½ΠΎ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Оно ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ располоТСно Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ части экрана ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Π’ этом ΠΎΠΊΠ½Π΅ отобраТаСтся иСрархичСский список всСх доступных Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ контСкстС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Для просмотра содСрТимого массива Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ имя Π² спискС.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² 1Π‘ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылочными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ курсора Π½Π° имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ часто всплываСт подсказка (tooltip) с ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Однако для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° трСбуСтся Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ структуру. НаТмитС Π½Π° малСнький Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (плюс) слСва ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ элСмСнтов.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива отобраТаСтся с Π΅Π³ΠΎ индСксом. Π’ 1Π‘ индСксация массивов начинаСтся с нуля, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ поискС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ значСния. Если массив содСрТит ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (числа, строки), ΠΈΡ… значСния Π²ΠΈΠ΄Π½Ρ‹ сразу. Если ΠΆΠ΅ элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ коллСкциями, потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ раскрытиС.

Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ чтСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ значСния Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк ΠΈΠ»ΠΈ слоТныС прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π΅Π· нСобходимости постоянного навСдСния курсора. Π’Π°ΠΊΠΆΠ΅ доступна сортировка элСмСнтов ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΡƒ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ прСдставлСниС Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для вставки Π² ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΠ»ΠΈ сравнСния с эталонным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· элСмСнтов ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΈΠ»ΠΈ Π”Π°Ρ‚Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. БпСцифичСскиС Ρ‚ΠΈΠΏΡ‹ 1Π‘, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БправочникБсылка ΠΈΠ»ΠΈ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ своС строковоС прСдставлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ часто Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Если элСмСнт массива содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно (Null), это Π±ΡƒΠ΄Π΅Ρ‚ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ значСния. Частой ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° обращСния ΠΊ свойствам Ρ‚Π°ΠΊΠΎΠ³ΠΎ элСмСнта, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ позволяСт Π·Π°Ρ€Π°Π½Π΅Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ "Π΄Ρ‹Ρ€Ρ‹" Π² Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΡƒΠΏΠ°Π΄Π΅Ρ‚ с ошибкой.

Для структурных Ρ‚ΠΈΠΏΠΎΠ², Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² массив, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ позволяСт ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ массивы ΠΈΠ»ΠΈ структуры, формируя ΠΏΠΎΠ»Π½ΠΎΠ΅ прСдставлСниС ΠΎ Π΄Π΅Ρ€Π΅Π²Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с JSON ΠΈΠ»ΠΈ XML, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 1Π‘.

Π’ΠΈΠΏ элСмСнта ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ просмотра
Число 123.45 Π’ΠΎΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΡ‡Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ
Π‘Ρ‚Ρ€ΠΎΠΊΠ° "ВСкст значСния" ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ строки
Π‘ΡƒΠ»Π΅Π²ΠΎ Π˜ΡΡ‚ΠΈΠ½Π° / Π›ΠΎΠΆΡŒ ЛогичСский Ρ‚ΠΈΠΏ, Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ
НСопрСдСлСно <НСопрСдСлСно> ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ значСния, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

Π’Π°ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ 1Π‘ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ динамичСски. Π’ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° элСмСнт массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числом, Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” строкой. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ошибки нСсоотвСтствия Ρ‚ΠΈΠΏΠΎΠ².

ИспользованиС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ вычисляСмых ΠΏΠΎΠ»Π΅ΠΉ

Иногда простого просмотра ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… нСдостаточно. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слоТного выраТСния Π½Π° Π»Π΅Ρ‚Ρƒ, Π½Π΅ мСняя ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этого Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ 1Π‘ сущСствуСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» вычислСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Он доступСн Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ панСль.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти имя массива с индСксом, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, МойМассив[5], ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ±Ρ‰ΠΈΠΉ список свСрнут. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². НапримСр, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ МойМассив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π­Ρ‚Π° функция Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ° ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ записью Π² рСгистр, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² контСкстС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΡƒΠ·Ρ‹. Π­Ρ‚ΠΎ экономит врСмя Π½Π° пСрСсборку ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для добавлСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π² консоль.

БСкрСтная функция консоли ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ чтСния, Π½ΠΎ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… прямо Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅. ИзмСнив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ выраТСния ΠΈ Π½Π°ΠΆΠ°Π² Enter, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ "Π½Π° Π»Π΅Ρ‚Ρƒ" для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ сСбя систСма с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктах. Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ измСняСт состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄ записи ΠΈΠ»ΠΈ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°), это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΏΡ€ΠΈ использовании вычисляСмых ΠΏΠΎΠ»Π΅ΠΉ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΈ коллСкциями

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΡΠΎΠ±ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ структуры. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ элСмСнта с индСксами [2][3], Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнт с индСксом 2, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнт 3.

ΠŸΡ€ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ влоТСнности Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ. Навигация ΠΌΡ‹ΡˆΡŒΡŽ становится Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поиск ΠΏΠΎ ΠΎΠΊΠ½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Ссли вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚) ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Π² ΠΊΠΎΠ΄Π΅ Ρ‡Π΅Ρ€Π΅Π· присваиваниС Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для упрощСния доступа.

Помимо стандартных массивов, Π² 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ БписокЗначСний. Π₯отя тСхничСски это Π½Π΅ массивы Π² чистом Π²ΠΈΠ΄Π΅, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΈΡ… просмотра Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½: раскрытиС ΡƒΠ·Π»Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ строки ΠΈΠ»ΠΈ элСмСнты списка. Для Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΊΠ°ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ свойства строк.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌΠΈ массивами (тысячи элСмСнтов) раскрытиС всСх Π²Π΅Ρ‚Π²Π΅ΠΉ Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ привСсти ΠΊ зависанию интСрфСйса. РаскрывайтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π²Π΅Ρ‚Π²ΠΈ.

β˜‘οΈ Π§Π΅ΠΊ-лист Π°Π½Π°Π»ΠΈΠ·Π° слоТной структуры

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² ΠΊΠΎΠ΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π°Π²Ρ‹ΠΊΠ° написания ΠΊΠΎΠ΄Π° "Π½Π° Π»Π΅Ρ‚Ρƒ". Π§Π°Ρ‰Π΅ всСго достаточно Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ раскрытия ΡƒΠ·Π»ΠΎΠ² Π΄ΠΎ уровня возникновСния ошибки.

ЧастыС ошибки ΠΈ способы ΠΈΡ… диагностики

Одной ΠΈΠ· самых распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ошибка "ИндСкс Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°". Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ это Π»Π΅Π³ΠΊΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»Π° ΠΈ сравниваСтС Π΅Π³ΠΎ со свойством ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() массива. Если индСкс Ρ€Π°Π²Π΅Π½ ΠΈΠ»ΠΈ большС количСства, ошибка Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Π°.

Другая частая ситуация β€” Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ массивом. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ сущСствуСт, Π½ΠΎ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ массиву ΠΊΠ°ΠΊ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’ ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ спСцифичСский Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈΠ»ΠΈ сСроС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° отсутствиС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π’Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ошибки Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ элСмСнтов. Если массив Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа, Π° Ρ‚ΡƒΠ΄Π° ΠΏΠΎΠΏΠ°Π»Π° строка, ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΠΏΠ°Π΄ΡƒΡ‚. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ позволяСт ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ "Ρ‡ΡƒΠΆΠ΅Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

πŸ’‘

Главная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ошибок с массивами Π² 1Π‘ β€” это нСсоотвСтствиС ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… фактичСскому Ρ‚ΠΈΠΏΡƒ элСмСнта ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ допустимых индСксов Π² Ρ†ΠΈΠΊΠ»Π°Ρ….

Диагностика Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° тСкст ошибки. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° состояниС систСмы нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ сбоСм. Часто ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° кроСтся Π½Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС, Π° Π² Π΄Π°Π½Π½Ρ‹Ρ…, сформированных нСсколькими итСрациями Ρ€Π°Π½Π΅Π΅.

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ эффСктивной ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ

ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ряд ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² для ускорСния Π°Π½Π°Π»ΠΈΠ·Π°. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅/watch-ΠΎΠΊΠ½Π° (ΠΎΠΊΠ½Π° наблюдСния). Π’ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ раскрываСтС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π² консоль ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π» рСгистрации для критичСских Ρ‚ΠΎΡ‡Π΅ΠΊ, Π³Π΄Π΅ остановка выполнСния Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС массива. Π­Ρ‚ΠΎ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΏΡ€ΠΈ тСстировании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ массивов, создавайтС тСстовыС Π΄Π°Π½Π½Ρ‹Π΅ с Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ извСстными характСристиками. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ сразу ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, сравнивая Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ эталоном.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива прямо Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НайдитС Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт Π² ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ примСнится ΠΊ памяти процСсса ΠΈ повлияСт Π½Π° дальнСйшСС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ массив отобраТаСтся ΠΊΠ°ΠΊ пустой, хотя я знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½?

ВСроятно, Π²Ρ‹ смотритС Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° выполнСния ΠΊΠΎΠ΄Π° заполнСния. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° строку послС Ρ†ΠΈΠΊΠ»Π° заполнСния ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (F10), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΉΡ‚ΠΈ Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°.

Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ массив, Ссли ΠΎΠ½ являСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

ΠŸΡ€ΠΈ запускС внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² контСкст Π²Ρ‹Π·ΠΎΠ²Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²ΠΈΠ΄Π΅Π½ ΠΊΠ°ΠΊ локальная пСрСмСнная ΠΈΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°?

Π­Ρ‚ΠΎ Ρ€Π΅Π΄ΠΊΠΈΠΉ случай, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связанный с ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСанс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π»ΠΈ пСрСмСнная Π² Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ массива для отобраТСния Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅?

ВСхничСского ограничСния Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π΅Ρ‚, Π½ΠΎ интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ нСотвСтствСнным ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ дСсятки тысяч элСмСнтов. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» для Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ²Π΅Ρ€Ρ…Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ.