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

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ понятиями «ссылка» ΠΈ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…Β». Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ссылка β€” это Π»Π΅Π³ΠΊΠΈΠΉ дСскриптор, содСрТащий ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (UUID) ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этого Ρ‚ΠΈΠΏΠ° начинаСтся любой Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· входящСго значСния ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

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

ИспользованиС встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡

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

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ имя Ρ‚ΠΈΠΏΠ° для ссылок формируСтся ΠΏΠΎ строгому ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ: прСфикс «Бсылка.Β» ΠΈ Π΄Π°Π»Π΅Π΅ имя ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ значСния Π² ΠΊΠΎΠ΄Π΅.

  • πŸ” Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ создания тяТСлых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти.
  • πŸ“› Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Π’ΠΈΠΏ, Π° Π½Π΅ простой строкой.
  • βš™οΈ ΠœΠ΅Ρ‚ΠΎΠ΄ унивСрсалСн ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ссылок.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ строкС Ρ‡Π΅Ρ€Π΅Π· Π‘Ρ‚Ρ€ΠΎΠΊΠ°() для сравнСния Ρ‚ΠΈΠΏΠΎΠ², Ссли Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ = с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

Если Π²Ρ‹ часто провСряСтС ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ, сохранитС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’ΠΈΠΏ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ модуля ΠΏΡ€ΠΈ стартС прилоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«Π’ΠΈΠΏΒ»

Π’ языкС запросов ΠΈ встроСнном языкС 1Π‘ сущСствуСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксичСский сахар для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° значСния. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’ΠΈΠΏ (ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ Π² условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…) позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π² ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π° Π±Π΅Π· явного Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ.

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

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π² условном ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅. Если пСрСмСнная Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ содСрТит ссылку Π½Π° элСмСнт справочника, условиС выполнится ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Π²Π΅Ρ‚ΠΊΡƒ Π˜Π½Π°Ρ‡Π΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дСйствия для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² входящих Π΄Π°Π½Π½Ρ‹Ρ….

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’ΠΈΠΏ БправочникБсылка Π’ΠΎΠ³Π΄Π°

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

Π˜Π½Π°Ρ‡Π΅Π•ΡΠ»ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’ΠΈΠΏ ДокумСнтБсылка Π’ΠΎΠ³Π΄Π°

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

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

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

β˜‘οΈ Алгоритм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ°

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

Анализ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’ ситуациях, ΠΊΠΎΠ³Π΄Π° пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… допустимых Ρ‚ΠΈΠΏΠΎΠ², эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ БписокЗначСний ΠΈΠ»ΠΈ структуру Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π³Π΄Π΅ ТСсткая типизация Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈΠ»ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния Π² этот Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚Π’ΠΈΠΏ. Π­Ρ‚ΠΎ избавляСт ΠΎΡ‚ написания Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ… конструкций с мноТСствСнными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π˜Π›Π˜. Код становится ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ списка допустимых Ρ‚ΠΈΠΏΠΎΠ².

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ различия Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ:

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ
Π’ΠΈΠΏΠ—Π½Ρ‡().Имя Высокая БрСдняя Высокая
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«Π’ΠΈΠΏΒ» Высокая Высокая БрСдняя
Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ БрСдняя Высокая Максимальная
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Низкая Низкая БпСцифичСская

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΈΠΏΡ‹ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚Π’ΠΈΠΏ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ условий Π˜Π›Π˜ Π² ΠΊΠΎΠ΄Π΅.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° ссылки Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

Иногда программисту трСбуСтся Π½Π΅ просто ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ ссылка, Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ описанию ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ эта ссылка относится. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅(), доступноС Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ссылки. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ описания ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит имя, синоним ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

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

Код получСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠœΠ” = Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅();

Если ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠœΠ”.Π­Ρ‚ΠΎΠ‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ() Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° для справочника

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

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

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎ рСсурсам, Ρ‡Π΅ΠΌ простая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ обращСния ΠΊ структурС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Однако Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ бизнСс-Π·Π°Π΄Π°Ρ‡ эта Ρ€Π°Π·Π½ΠΈΡ†Π° Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ссылка Π½Π΅ Ρ€Π°Π²Π½Π° НСопрСдСлСно ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅(), ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка выполнСния.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π’ΠΈΠΏΠ—Π½Ρ‡
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΈΠΏ
Π’ΠΈΠΏΡ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°/Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ошибок

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

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° НСопрСдСлСно Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ любой ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если пСрСмСнная Ρ€Π°Π²Π½Π° НСопрСдСлСно, функция Π’ΠΈΠΏΠ—Π½Ρ‡ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΈΠΏ «НСопрСдСлСно», Ρ‡Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ. Однако ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойствам Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ ссылку ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΡƒΡΡ‚Π°Ρ(), доступный Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-ссылок. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, являСтся Π»ΠΈ ссылка пустой. ΠŸΡƒΡΡ‚Π°Ρ ссылка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° (ΠΈΠ»ΠΈ ΠΎΠ½ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ).

  • βœ… ВсСгда провСряйтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π° НСопрСдСлСно ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с Π½Π΅ΠΉ.
  • 🚫 ΠŸΡƒΡΡ‚Π°Ρ ссылка Π½Π΅ Ρ€Π°Π²Π½Π° НСопрСдСлСно, это Ρ€Π°Π·Π½Ρ‹Π΅ сущности.
  • πŸ›‘ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ ΠΊΡ€Π°ΠΉΠ½ΡŽΡŽ ΠΌΠ΅Ρ€Ρƒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

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

πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ: сначала Π½Π° НСопрСдСлСно, Π·Π°Ρ‚Π΅ΠΌ Π½Π° Ρ‚ΠΈΠΏ, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π° пустоту ссылки ΠΈΠ»ΠΈ содСрТаниС Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΈ толстом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅

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

НапримСр, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сСрвСр, Ρ‚ΠΈΠΏ значСния сохраняСтся. Однако Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· COM-соСдинСниС ΠΈΠ»ΠΈ внСшниС источники, Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ потСрян ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² строку. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях трСбуСтся явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ парсинг строкового прСдставлСния.

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π² управляСмом, ΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования спСцифичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ². Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π’ΠΈΠΏΠ—Π½Ρ‡ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ Π² ΠΎΠ±ΠΎΠΈΡ… случаях, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… бСзопасным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

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

Для получСния Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ рСкомСндуСтся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ синтаксичСскому ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΡƒ ΠΈΠ»ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΠΈΡ€ΠΌΡ‹ Β«1Π‘Β», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ².

πŸ’‘

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ слоТных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова ΠΈ ΠΎΠΊΠ½ΠΎ Β«Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏΠ—Π½Ρ‡ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Бсылка.Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚?

Бсылка β€” это Π»Π΅Π³ΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€” это полная копия Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, загруТСнная Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ значСния: ДокумСнтБсылка ΠΈ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ссылки, Ссли ΠΎΠ½Π° ΠΏΡ€ΠΈΡˆΠ»Π° ΠΈΠ· внСшнСго источника Π² Π²ΠΈΠ΄Π΅ строки?

НСобходимо сначала ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² Ρ‚ΠΈΠΏ значСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π˜Π·Π‘Ρ‚Ρ€ΠΎΠΊΠΈΠ’Π½ΡƒΡ‚Ρ€, Ссли строка ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поиск ΠΏΠΎ Π±Π°Π·Π΅, Ссли это просто ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ имя.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ функция Π’ΠΈΠΏΠ—Π½Ρ‡ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ?

НСт, функция Π’ΠΈΠΏΠ—Π½Ρ‡ бСзопасна ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ°, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ НСопрСдСлСно. Ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ссылка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° элСмСнт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ справочника?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΈΠΏ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Если Π—Π½Ρ‡ Π’ΠΈΠΏ БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ Π’ΠΎΠ³Π΄Π°.