Nezabezpečený kód a ukazatele (Průvodce programováním v C#)
Pokud chcete zachovat typovou bezpečnost a zabezpečení, C# nepodporuje aritmetický ukazatele ve výchozím nastavení.Avšak pomocí nebezpečných klíčové slovo, můžete definovat nebezpečném kontextu, ve kterém lze použít ukazatele.Další informace o ukazatele, naleznete v tématu Typy ukazatelů.
[!POZNÁMKA]
V common language runtime (CLR) nebezpečný kód se nazývá neověřitelný kód.Nebezpečný kód v jazyce C# není nutně nebezpečné; je to pouze kód, jejichž bezpečnost nelze ověřit pomocí modulu CLR.CLR budou proto pouze spouštět nebezpečný kód v případě, že je v plně důvěryhodném sestavení.Používáte-li nebezpečný kód, je vaší odpovědností zajistit, aby váš kód nezavádí bezpečnostní rizika nebo ukazatel chyb.
Přehled nebezpečného kódu
Nebezpečný kód má následující vlastnosti:
Metody, typy a bloky kódu lze definovat jako bezpečné.
V některých případech může nebezpečný kód zvýšit výkon aplikace odebráním kontroly meze pole.
Nebezpečný kód je vyžadován při volání nativních funkcí, které vyžadují ukazatele.
Pomocí nebezpečný kód přináší rizika zabezpečení a stability.
V pořadí pro jazyk C# pro kompilaci nebezpečný kód, musí být aplikace kompilována s / unsafe.
Související oddíly
Více informací naleznete:
Vyrovnávací paměti pevné velikosti (Průvodce programováním v C#)
Postupy: Použití ukazatelů ke kopírování pole bajtů (Průvodce programováním v C#)
Specifikace jazyka C#
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.