Događaj
Izgradite inteligentne aplikacije
17. mar 23 - 21. mar 23
Pridružite se seriji sastanaka kako biste izgradili skalabilna AI rešenja zasnovana na stvarnim slučajevima korišćenja sa kolegama programerima i stručnjacima.
Registrujte se odmahOvaj pregledač više nije podržan.
Nadogradite na Microsoft Edge biste iskoristili najnovije funkcije, bezbednosne ispravke i tehničku podršku.
A type is an unmanaged type if it's any of the following types:
sbyte
, byte
, short
, ushort
, int
, uint
, long
, ulong
, nint
, nuint
, char
, float
, double
, decimal
, or bool
You can use the unmanaged
constraint to specify that a type parameter is a non-pointer, non-nullable unmanaged type.
A constructed struct type that contains fields of unmanaged types only is also unmanaged, as the following example shows:
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
A generic struct may be the source of both unmanaged and managed constructed types. The preceding example defines a generic struct Coords<T>
and presents the examples of unmanaged constructed types. The example of a managed type is Coords<object>
. It's managed because it has the fields of the object
type, which is managed. If you want all constructed types to be unmanaged types, use the unmanaged
constraint in the definition of a generic struct:
public struct Coords<T> where T : unmanaged
{
public T X;
public T Y;
}
For more information, see the Pointer types section of the C# language specification.
Povratne informacije za .NET
.NET je projekat otvorenog koda. Izaberite vezu da biste pružili povratne informacije:
Događaj
Izgradite inteligentne aplikacije
17. mar 23 - 21. mar 23
Pridružite se seriji sastanaka kako biste izgradili skalabilna AI rešenja zasnovana na stvarnim slučajevima korišćenja sa kolegama programerima i stručnjacima.
Registrujte se odmah