V jazyku C# sa výrazy „Escape“ a „Unescape“ vzťahujú na proces prevodu znakov v reťazcoch, ktoré by inak mali špeciálny význam, na ich doslovné reprezentácie (escaping) a naopak (unescape).
Escape: Zahŕňa použitie špeciálnych sekvencií (napr. \n, \t, \\) na reprezentáciu znakov, ktoré sa buď nedajú vytlačiť, alebo majú v reťazcoch C# špeciálny význam.
Unescape: Zahŕňa prevod týchto escape sekvencií späť do ich pôvodných, doslovných tvarov.
Napríklad escape sekvencia \n predstavuje nový riadok v reťazci, zatiaľ čo \\ predstavuje doslovné spätné lomítko.
Hlavným dôvodom použitia funkcií escape/unescape v jazyku C# je spracovanie znakov v reťazcoch, ktoré:
By inak kolidovali so syntaxou: Znaky ako úvodzovky, spätné lomítka alebo znaky nového riadku by narušili formátovanie reťazca, takže je potrebné ich escapovať.
Musia byť reprezentované doslovne: Napríklad môžete chcieť do reťazca zahrnúť znak nového riadku alebo zabezpečiť, aby sa spätné lomítka zobrazovali ako súčasť reťazca.
Interakcia s externými systémami alebo formátmi: Pri spracovaní JSON, XML alebo URL pomáhajú funkcie escape a unescape zabezpečiť správne formátovanie údajov reťazca.
Escape:
Keď potrebujete do reťazca zahrnúť špeciálne znaky, ako sú nové riadky alebo tabulátory.
Pri práci s regulárnymi výrazmi, kde majú znaky ako *, ? alebo + špeciálny význam.
Pri práci s cestami k súborom, URL adresami alebo reťazcami JSON, kde je potrebné určité znaky escapovať.
Unescape:
Pri čítaní alebo spracovaní údajov, ktoré obsahujú escapované znaky, ako sú vstupy používateľa, URL adresy alebo údaje JSON.
Pri konverzii escapovaných reťazcov späť na ich doslovné reprezentácie, napríklad pri vývoji webu (napr. dekódovanie entít HTML).
Pri práci so súbormi cesty a údaje, ktoré vyžadujú dekódovanie pred správnym použitím.