Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A típus nem felügyelt típus , ha az alábbi típusok valamelyike:
-
sbyte,byte,short,ushort,int,uint,long,ulongnint, ,nuint,char,float, ,double, ,decimalvagybool - Tetszőleges enumerálási típus
- Bármilyen mutatótípus
- Olyan tuple, amelynek tagjai mind nem felügyelt típusúak
- Minden olyan felhasználó által definiált szerkezettípus , amely csak nem felügyelt típusú mezőket tartalmaz.
A kényszer használatával unmanaged megadhatja, hogy egy típusparaméter nem mutató, nem null értékű nem felügyelt típus.
A C# nyelv referenciadokumentuma a C# nyelv legújabb kiadású verzióját ismerteti. Emellett a közelgő nyelvi kiadás nyilvános előzetes verziójú funkcióinak kezdeti dokumentációját is tartalmazza.
A dokumentáció azonosítja azokat a funkciókat, amelyeket először a nyelv utolsó három verziójában vagy az aktuális nyilvános előzetes verziókban vezetnek be.
Jótanács
Ha meg szeretné tudni, hogy mikor jelent meg először egy funkció a C#-ban, tekintse meg a C# nyelvi verzióelőzményeiről szóló cikket.
Az olyan strukturált szerkezettípus, amely csak nem felügyelt típusú mezőket tartalmaz, szintén nem felügyelt, ahogyan az alábbi példa is mutatja:
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
Az általános struktúra definiálhatja a nem felügyelt és a felügyelt strukturált típusokat is. Az előző példa egy általános szerkezetet Coords<T> határoz meg, és példákat mutat be a nem felügyelt strukturált típusokra. A felügyelt típusra példa: Coords<object>. Azért van felügyelve, mert a típus mezői object vannak kezelve. Ha azt szeretné, hogy az összes létrehozott típus nem felügyelt típusok legyenek, használja a unmanaged korlátozást egy általános szerkezet definíciójában:
public struct Coords<T> where T : unmanaged
{
public T X;
public T Y;
}
C# nyelvspecifikáció
További információ: A C# nyelv specifikációjánakMutatótípusok szakasza.