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

ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками критичСски Π²Π°ΠΆΠ½ΠΎ для создания ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹Ρ… интСрфСйсов. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ поиск ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ зависанию Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ошибкС выполнСния, Ссли список Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ способы адрСсации ΠΊ строкам, особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ записью ΠΈ Π½ΡŽΠ°Π½ΡΡ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… часто Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ спСциалисты.

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° динамичСского списка ΠΈ Π΅Π³ΠΎ отличия

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ строку, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ. ДинамичСский список Π² 1Π‘ β€” это Π½Π΅ просто массив Π΄Π°Π½Π½Ρ‹Ρ…, Π° слоТный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…"Π½Π° Π»Π΅Ρ‚Ρƒ". Π’ контСкстС управляСмых Ρ„ΠΎΡ€ΠΌ это Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ДинамичСскийБписок, привязанный ΠΊ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.

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

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ поиск ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΈ поиск ΠΏΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ ссылкС, это ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Если ΠΆΠ΅ трСбуСтся ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ список Π΄ΠΎ дСсятой строки послС примСнСния слоТного ΠΎΡ‚Π±ΠΎΡ€Π° β€” это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ другая Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с курсором списка.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство строк Π² динамичСском спискС Ρ‡Π΅Ρ€Π΅Π· свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘Ρ‚Ρ€ΠΎΠΊ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ВсСгда ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ событиС"ΠŸΠΎΡΠ»Π΅Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ" для выполнСния дСйствий, зависящих ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ наличия Π΄Π°Π½Π½Ρ‹Ρ… Π² спискС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок обращСния ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ индСксам.

ΠœΠ΅Ρ‚ΠΎΠ΄ Найти: поиск ΠΏΠΎ ссылкС ΠΈ ΠΊΠ»ΡŽΡ‡Ρƒ

Π‘Π°ΠΌΡ‹ΠΉ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΡƒΡŽ запись β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для поиска строки ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‡Π°Ρ‰Π΅ всСго выступаСт ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт. Бинтаксис ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТных вычислСний.

Для выполнСния поиска Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Ρ‚ΠΈΠΏΡƒ ΠΊΠ»ΡŽΡ‡Π° списка. Если список построСн ΠΏΠΎ рСгистру свСдСний, ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ комбинация ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ БтрокаДинамичСскогоБписка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для дальнСйшСго выдСлСния ΠΈΠ»ΠΈ чтСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².

ЭлСмСнтБписка.Найти(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠšΠ»ΡŽΡ‡Π°);

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

  • πŸ” ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² кэш ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  • πŸ”— ИдСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для поиска ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ (Бсылка, Код, Артикул).
  • ⚠️ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно, Ссли запись Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ скрыта ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ.
πŸ’‘

ΠœΠ΅Ρ‚ΠΎΠ΄ Найти Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки списка, Π° Π½Π΅ Π΅Ρ‘ индСкс, Ρ‡Ρ‚ΠΎ позволяСт сразу Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.

Поиск ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ строки ΠΈ навигация

Иногда Π·Π°Π΄Π°Ρ‡Π° стоит Π½Π΅ Π² поискС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Π² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² спискС. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² спискС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠΎΠΌΠ΅Ρ€ΡƒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈΠ»ΠΈ прямоС присваиваниС свойству ВСкущаяБтрока.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ пятой строкС списка выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ЭлСмСнтБписка.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠΎΠΌΠ΅Ρ€ΡƒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(5);

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

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Найти ΠΏΠΎ ссылкС
Найти ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ строки
Π§Π΅Ρ€Π΅Π· установку ΠΎΡ‚Π±ΠΎΡ€Π°
Π ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ

Π Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ списка

Часто понятиС"Π½Π°ΠΉΡ‚ΠΈ строку" подмСняСтся понятиСм"ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ список". Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΡ‰Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ ΠΏΠΎ части названия, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС строки Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ динамичСского списка. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ поиска Π½Π° сСрвСр Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивнСС.

Установка ΠΎΡ‚Π±ΠΎΡ€Π° выполняСтся Ρ‡Π΅Ρ€Π΅Π· свойство ΠžΡ‚Π±ΠΎΡ€ элСмСнта списка. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ условия ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ полю, Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ Π² спискС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ критСриям.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ установки ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ наимСнованию ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°:

ДСйствиС Код Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ условия ЭлСмСнтБписка.ΠžΡ‚Π±ΠΎΡ€.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС", ВидБравнСния.НачинаСтсяБ,"ООО") ΠžΡΡ‚Π°Π½ΡƒΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ООО
Бброс ΠΎΡ‚Π±ΠΎΡ€Π° ЭлСмСнтБписка.ΠžΡ‚Π±ΠΎΡ€.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠŸΠΎΠΊΠ°Π·Π°Π½Ρ‹ всС записи
ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ЭлСмСнтБписка.ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

ИспользованиС ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² β€” ΡΡ‚ΠΎΡˆΠΈΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…. Поиск Π² Ρ†ΠΈΠΊΠ»Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ тысяч строк ΠΌΠΎΠΆΠ΅Ρ‚"Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒ" интСрфСйс, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡ‚Π±ΠΎΡ€ выполняСтся быстро ΠΈ эффСктивно. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² 1Π‘.

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

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹

Если трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ нСскольким полям с условиСм Π˜Π›Π˜, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ структуру ΠžΡ‚Π±ΠΎΡ€Π° Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ, создавая Π³Ρ€ΡƒΠΏΠΏΡ‹ условий Π²Π½ΡƒΡ‚Ρ€ΠΈ свойства ΠžΡ‚Π±ΠΎΡ€ элСмСнта списка.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строки

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ строка Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ становится Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΅Ρ‘ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ строки динамичСского списка прСдоставляСт доступ ΠΊ значСниям ΠΏΠΎΠ»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· индСксатор ΠΈΠ»ΠΈByName. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· свойство ЗначСния Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строки. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ полю ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ»ΠΈ ΠΏΠΎ индСксу ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ устойчив ΠΊ измСнСнию порядка ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² спискС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ чтСния значСния ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строки:

НайдСннаяБтрока = ЭлСмСнтБписка.Найти(Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚);

Если НайдСннаяБтрока <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π‘ΡƒΠΌΠΌΠ° = НайдСннаяБтрока.Π‘ΡƒΠΌΠΌΠ°;

ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ = НайдСннаяБтрока.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚;

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

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

  • πŸ“‚ Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ сразу послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ поиска строки.
  • ⚑ Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· кэша списка быстрСС, Ρ‡Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ запрос ΠΊ Π±Π°Π·Π΅.
  • πŸ›‘ Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ declared Ρ‚ΠΈΠΏΠ°ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ списка.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…

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

Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки ΠΈ визуализация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Найти строку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ β€” это ΠΏΠΎΠ»Π΄Π΅Π»Π°. Часто трСбуСтся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска, Π²Ρ‹Π΄Π΅Π»ΠΈΠ² Π½ΡƒΠΆΠ½ΡƒΡŽ строку Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ пСрСмСстив Π½Π° Π½Π΅Ρ‘ фокус Π²Π²ΠΎΠ΄Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство ВСкущаяБтрока элСмСнта Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ поля.

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ строки свойству ВСкущаяБтрока автоматичСски ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ элСмСнту ΠΈ устанавливаСт Π½Π° Π½Π΅Π³ΠΎ фокус. Π­Ρ‚ΠΎ стандартный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ повСдСния для ΠΊΠ½ΠΎΠΏΠΎΠΊ"Найти" ΠΈ"ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ" Π² интСрфСйсах 1Π‘.

Если ΠΆΠ΅ трСбуСтся ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ строку Ρ†Π²Π΅Ρ‚ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ красным), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условноС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ условия Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π£ΡΠ»ΠΎΠ²Π½ΠΎΠ΅ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИзмСнСниС условного оформлСния Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° обновлСния оформлСния. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ условиС нСдостаточно, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ обратная связь критичСски Π²Π°ΠΆΠ½Π° для удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ΡƒΡ…ΠΎΠΉ поиск Π±Π΅Π· выдСлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° заставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ самому ΠΈΡΠΊΠ°Ρ‚ΡŒ взглядом измСнившиСся Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ сниТаСт эргономику прилоТСния.

πŸ’‘

ВсСгда синхронизируйтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ поиск с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π», ΠΊΡƒΠ΄Π° пСрСмСстился фокус внимания Π² интСрфСйсС.

ЧастыС ошибки ΠΈ оптимизация поиска

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поиска Π² динамичСских списках Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π½Π°ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π³Ρ€Π°Π±Π»ΠΈ. Бамая распространСнная ошибка β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π½Π°ΠΉΡ‚ΠΈ строку Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° список Π΅Ρ‰Π΅ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно, хотя запись Π² Π±Π°Π·Π΅ сущСствуСт.

Вторая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ контСкста бСзопасности. Если Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΠΈΡ‰Π΅Ρ‚, ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π΄Π°ΠΆΠ΅ Ссли ΠΎΡ‚Π±ΠΎΡ€ Π½Π΅ установлСн. ВсСгда провСряйтС ΠΏΡ€Π°Π²Π° доступа ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ поиска Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠ². Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм строкам списка для поиска значСния, Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Найти ΠΈΠ»ΠΈ устанавливайтС ΠΎΡ‚Π±ΠΎΡ€. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ тысяч строк β€” это Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΆΠ°Π»ΠΎΠ±Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

МоТно Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ строку, Ссли ΠΎΠ½Π° Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚?

НСт, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, находящимися Π² кэшС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Если строка Π½Π΅ ΠΏΠΎΠΏΠ°Π»Π° Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ (ΠΈΠ·-Π·Π° ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ Π»ΠΈΠΌΠΈΡ‚ΠΎΠ²), Π½Π°ΠΉΡ‚ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π±Π΅Π· измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π§Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти, Ссли записСй с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ»ΡŽΡ‡Π΅ΠΌ нСсколько?

Π’ динамичСском спискС ΠΊΠ»ΡŽΡ‡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ (ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚). Если ΠΊΠ»ΡŽΡ‡Π΅ΠΉ нСсколько (Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройкС списка), ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ.

Как Π½Π°ΠΉΡ‚ΠΈ строку ΠΏΠΎ части тСкста Π² ΠΏΠΎΠ»Π΅?

ΠœΠ΅Ρ‚ΠΎΠ΄ Найти ΠΈΡ‰Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ совпадСниС ΠΊΠ»ΡŽΡ‡Π°. Для поиска ΠΏΠΎ части тСкста Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ установку ΠΎΡ‚Π±ΠΎΡ€Π° с Π²ΠΈΠ΄ΠΎΠΌ сравнСния ВидБравнСния.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ»ΠΈ НачинаСтсяБ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ поиск Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списках?

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ количСства Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ строк. Если список содСрТит дСсятки тысяч строк, любой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ поиском.