Esdeveniment
Crea aplicacions intel·ligents
17 de març, 23 - 21 de març, 23
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi araAquest navegador ja no s’admet.
Feu l’actualització al Microsoft Edge per aprofitar les característiques més recents, les actualitzacions de seguretat i l’assistència tècnica.
Un tipo es un tipo no administrado si es cualquiera de los siguientes tipos:
sbyte
, byte
, short
, ushort
, int
, uint
, long
, ulong
, nint
, nuint
, char
, float
, double
, decimal
o bool
Puede usar unmanaged
constraint para especificar que un parámetro de tipo es un tipo no administrado que no acepta valores NULL y que no es de puntero.
Un tipo de struct construido que solo contenga campos de tipos no administrados también es no administrado, como se muestra en el ejemplo siguiente:
using System;
public struct Coords<T>
{
public T X;
public T Y;
}
public class UnmanagedTypes
{
public static void Main()
{
DisplaySize<Coords<int>>();
DisplaySize<Coords<double>>();
}
private unsafe static void DisplaySize<T>() where T : unmanaged
{
Console.WriteLine($"{typeof(T)} is unmanaged and its size is {sizeof(T)} bytes");
}
}
// Output:
// Coords`1[System.Int32] is unmanaged and its size is 8 bytes
// Coords`1[System.Double] is unmanaged and its size is 16 bytes
Un struct genérico puede ser el origen de los tipos no administrados y de los tipos construidos administrados. En el ejemplo anterior se define un struct Coords<T>
genérico y se presentan los ejemplos de tipos construidos no administrados. El ejemplo de un tipo administrado es Coords<object>
. Es administrado porque tiene los campos del tipo object
, que está administrado. Si desea que todos los tipos construidos sean tipos no administrados, use la restricción unmanaged
en la definición de un struct genérico:
public struct Coords<T> where T : unmanaged
{
public T X;
public T Y;
}
Para obtener más información, vea la sección Tipos de puntero de Especificación del lenguaje C#.
Comentaris de .NET
.NET és un projecte de codi obert. Seleccioneu un enllaç per enviar comentaris:
Esdeveniment
Crea aplicacions intel·ligents
17 de març, 23 - 21 de març, 23
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi ara