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

Вабличная Ρ‡Π°ΡΡ‚ΡŒ прСдставляСт собой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ строк, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ»Π΅ΠΉ (ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ). Доступ ΠΊ этим Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами Π² зависимости ΠΎΡ‚ контСкста выполнСния ΠΊΠΎΠ΄Π°: Π² Ρ„ΠΎΡ€ΠΌΠ΅, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях. Ошибки ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ строкам часто приводят ΠΊ критичСским сбоям Π² Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксис, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска ΠΈ особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с индСксами. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ бСзопасно ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ распространСнных Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° встроСнном языкС.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ доступа ΠΊ строкам ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ распространСнный способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строкС β€” использованиС индСксации. ВстроСнный язык позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ элСмСнтам ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ числовому индСксу, начиная с нуля. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрвая строка ΠΈΠΌΠ΅Π΅Ρ‚ индСкс 0, Π° послСдняя β€” ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1.

Для обращСния ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ полю Π²Π½ΡƒΡ‚Ρ€ΠΈ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ точСчная нотация. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ ячСйкС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° свойств. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Ρ‚ΠΎΠ²Π°Ρ€Π° Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Π²ΠΈΠ΄Π° Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹[0].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ. Π—Π΄Π΅ΡΡŒ Π’ΠΎΠ²Π°Ρ€Ρ‹ β€” имя Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ β€” имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° строки.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, [5], ΠΊΠΎΠ³Π΄Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ всСго 3 строки) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния "ИндСкс Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°". ВсСгда провСряйтС количСство строк ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ индСксу.

ΠŸΡ€ΠΈ записи значСния Π² ячСйку ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² числовоС ΠΏΠΎΠ»Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ошибка, Π² зависимости ΠΎΡ‚ строгости настроСк ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ˜ΠΌΡΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ() Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² динамичСских Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π³Π΄Π΅ имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ нСизвСстно Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явныС ΠΈΠΌΠ΅Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для читаСмости.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска строк: НайтиБтроки ΠΈ Π€ΠΈΠ»ΡŒΡ‚Ρ€

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ нСизвСстСн индСкс Π½ΡƒΠΆΠ½ΠΎΠΉ строки, Π½ΠΎ извСстны значСния Π΅Π΅ ΠΏΠΎΠ»Π΅ΠΉ. НапримСр, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ²Π°Ρ€ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€ΠΎΠΉ. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… 1Π‘ прСдусмотрСн ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ НайтиБтроки(). Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ссылок Π½Π° строки, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ условиям ΠΎΡ‚Π±ΠΎΡ€Π°.

АргумСнтом ΠΌΠ΅Ρ‚ΠΎΠ΄Π° выступаСт структура, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, Π° значСниями β€” искомыС Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выполняСт поиск ΠΏΠΎ всСм ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ полям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ логичСскоС "И". Π­Ρ‚ΠΎ позволяСт быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт Π±Π΅Π· написания Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°.

  • πŸ” ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив, Π΄Π°ΠΆΠ΅ Ссли Π½Π°ΠΉΠ΄Π΅Π½Π° всСго ΠΎΠ΄Π½Π° строка ΠΈΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ.
  • ⚑ Поиск выполняСтся быстрСС Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • πŸ“‹ Π’ структуру ΠΎΡ‚Π±ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²: строки, числа, ссылки Π½Π° справочники.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ строку с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€ΠΎΠΉ. Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся структура ΠΎΡ‚Π±ΠΎΡ€Π°, Π·Π°Ρ‚Π΅ΠΌ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄. Если массив Π½Π΅ пуст, ΠΌΡ‹ обращаСмся ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту массива для получСния Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡ‚Π±ΠΎΡ€ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НомСнклатура", НуТнаяНомСнклатура);

НайдСнныСБтроки = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.НайтиБтроки(ΠžΡ‚Π±ΠΎΡ€);

Если НС НайдСнныСБтроки.ΠŸΡƒΡΡ‚Π°Ρ() Π’ΠΎΠ³Π΄Π°

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’ΠΎΠ²Π°Ρ€Π° = НайдСнныСБтроки[0];

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’ΠΎΠ²Π°Ρ€Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ИспользованиС НайтиБтроки ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Ρ†ΠΈΠΊΠ»Π° Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π² случаях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ СдинствСнноС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅. Однако, Ссли трСбуСтся Π½Π°ΠΉΡ‚ΠΈ всС строки с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Ρ†Π΅Π½ΠΎΠΉ), ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ массив ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π¦ΠΈΠΊΠ» "Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ"
ΠœΠ΅Ρ‚ΠΎΠ΄ "НайтиБтроки"
SQL-запрос
НС знаю
Π”Ρ€ΡƒΠ³ΠΎΠ΅

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ: Π¦ΠΈΠΊΠ»Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

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

Π¦ΠΈΠΊΠ» Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π°Π±Π»ΠΈΡ†Ρ‹ Из Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ бСзопасным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° автоматичСски ссылаСтся Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ошибки, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹.

Если ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ удалСния строк ΠΈΠ»ΠΈ добавлСния Π½ΠΎΠ²Ρ‹Ρ… Π² процСссС ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ индСксу Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС (ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ для удалСния. ΠŸΡ€ΡΠΌΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ΄Π΅Ρ‚ прямой Ρ†ΠΈΠΊΠ» Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ пропуску элСмСнтов ΠΈΠ»ΠΈ ошибкС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСгда ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚ послСднСй строки ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ (Ρ†ΠΈΠΊΠ» Для с = ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 По 0 Π¦ΠΈΠΊΠ»). Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сбой индСксации ΠΈ пропуск строк.

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

β˜‘οΈ ΠŸΡ€Π°Π²ΠΈΠ»Π° бСзопасного Ρ†ΠΈΠΊΠ»Π°

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

ДинамичСский доступ ΠΊ полям Ρ‡Π΅Ρ€Π΅Π· ΠΈΠΌΠ΅Π½Π°

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях, особСнно ΠΏΡ€ΠΈ написании ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, имя Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ поля ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСизвСстно Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ динамичСского доступа ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π²ΠΎΠΉΡΡ‚Π²ΠΎ() ΠΈΠ»ΠΈ синтаксис ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок с строковым ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ полю ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ конфигурациями ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ТСсткой привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².

Бпособ доступа Бинтаксис ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ
БтатичСский Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° Бтандартная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
ДинамичСский (скобки) Π‘Ρ‚Ρ€ΠΎΠΊΠ°["Π¦Π΅Π½Π°"] Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈΠΌΠ΅Π½Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
Ѐункция свойства ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π²ΠΎΠΉΡΡ‚Π²ΠΎ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, "Π¦Π΅Π½Π°") ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования свойства ΠΏΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ

ДинамичСский доступ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ статичСского ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний ΠΈΠΌΠ΅Π½ΠΈ свойства Π²ΠΎ врСмя выполнСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² высоконагруТСнных Ρ†ΠΈΠΊΠ»Π°Ρ…, Π³Π΄Π΅ выполняСтся ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ статичСскиС ΠΈΠΌΠ΅Π½Π°. Однако для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈ использовании динамичСского доступа Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сущСствованиС свойства. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ полю Ρ‡Π΅Ρ€Π΅Π· Π‘Ρ‚Ρ€ΠΎΠΊΠ°["ΠΠ΅Π²Π΅Ρ€Π½ΠΎΠ΅Π˜ΠΌΡ"] Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Для бСзопасной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Бвойство("ИмяПоля", Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠŸΠΎΠ£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), которая Π²Π΅Ρ€Π½Π΅Ρ‚ истину, Ссли свойство сущСствуСт, ΠΈ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ основной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ВсСгда провСряйтС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· Бвойство() ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… вСрсиях.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ управляСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΈΠΌΠ΅Π΅Ρ‚ свою спСцифику, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ клиСнтского ΠΈ сСрвСрного контСкста. На сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π² Ρ„ΠΎΡ€ΠΌΠ΅) Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся прСдставлСниСм Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ самими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Ρ‹.

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

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС Π² Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π’ΠΎΠ²Π°Ρ€Ρ‹.Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅Π”Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ строки. Π­Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий интСрфСйса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для автоматичСского расчСта суммы ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ количСства. Бинтаксис остаСтся ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ, Π½ΠΎ контСкст выполнСния Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

  • πŸ–₯ ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ контСкст позволяСт ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ сСти.
  • πŸ’Ύ Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ контСкст Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для бСзопасной записи ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ.
  • πŸ”„ АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ происходит ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°

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

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

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, всСгда выполняйтС Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ записью Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ появлСниС ошибок ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ записи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π±Π°Π·Ρƒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. ВсСгда свСряйтС синтаксис с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ справкой ΠΏΠΎ вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, особСнно ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ИспользованиС конструкции ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°.. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ошибка являСтся ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ ситуациСй, Π° Π½Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· старого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π³Π΄Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ поля ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π°Ρ‚ΡŒ ошибкС ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π³.

πŸ’‘

Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ частями достигаСтся Π·Π° счСт строгой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ индСксов, использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° НайтиБтроки вмСсто Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ раздСлСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π»ΠΎΠ³ΠΈΠΊΠΈ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части?

Для получСния количСства строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ(), Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π‘Ρ‚Ρ€ΠΎΠΊ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ(). Π­Ρ‚ΠΎ свойство доступно ΠΊΠ°ΠΊ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π° сСрвСрС.

МоТно Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку Π² Ρ†ΠΈΠΊΠ» "Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ"?

ВСхничСски это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ нСпрСдсказуСмому повСдСнию ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π›ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для добавлСния Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ список, Π° послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ строки.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’ΠΎΠ²Π°Ρ€Ρ‹[0] ΠΈ Π’ΠΎΠ²Π°Ρ€Ρ‹.НайтиБтроки(..)?

Π’ΠΎΠ²Π°Ρ€Ρ‹[0] обращаСтся ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС ΠΏΠΎ физичСскому порядку, нСзависимо ΠΎΡ‚ Π΅Π΅ содСрТимого. НайтиБтроки ΠΈΡ‰Π΅Ρ‚ строку ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ (логичСский поиск) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… совпадСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько элСмСнтов.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всю Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ?

Π‘Π°ΠΌΡ‹ΠΉ быстрый способ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ β€” Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). Π­Ρ‚ΠΎ удаляСт всС строки сразу, Ρ‡Ρ‚ΠΎ эффСктивнСС Ρ†ΠΈΠΊΠ»Π° удалСния ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "ПолС Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ" ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅?

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΡƒΠΊΠ°Π·Π°Π½ΠΎ с ошибкой, рСгистр Π±ΡƒΠΊΠ² Π½Π΅ совпадаСт (хотя Π² 1Π‘ рСгистр ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²Π°ΠΆΠ΅Π½ для ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π²Π°ΠΆΠ΅Π½ Π² строковых ΠΊΠ»ΡŽΡ‡Π°Ρ…), ΠΈΠ»ΠΈ Ссли Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ полю, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.