C# Language fijo


Ejemplo

La declaración fija corrige la memoria en una ubicación. Los objetos en la memoria generalmente se mueven alrededor, esto hace posible la recolección de basura. Pero cuando usamos punteros no seguros para las direcciones de memoria, esa memoria no debe ser movida.

  • Usamos la declaración fija para garantizar que el recolector de basura no reubique los datos de cadena.

Variables fijas

var myStr = "Hello world!";

fixed (char* ptr = myStr)
{
    // myStr is now fixed (won't be [re]moved by the Garbage Collector).
    // We can now do something with ptr.
}

Utilizado en un contexto inseguro.

Tamaño del arreglo fijo

unsafe struct Example
{
    public fixed byte SomeField[8];
    public fixed char AnotherField[64];
}

fixed solo se puede usar en campos de una struct (también se debe usar en un contexto inseguro).