Type.IsValueType Właściwość

Definicja

Pobiera wartość wskazującą, czy Type jest typem wartości.

C#
public bool IsValueType { get; }

Wartość właściwości

true jeśli jest Type typem wartości; w przeciwnym razie false.

Implementuje

Przykłady

Poniższy przykład tworzy zmienną typu MyEnum, sprawdza IsValueType właściwość i wyświetla wynik.

C#
using System;

// Declare an enum type.
enum NumEnum { One, Two }

public class Example
{

    public static void Main(string []args)
    {
        bool flag = false;
        NumEnum testEnum = NumEnum.One;
        // Get the type of testEnum.
        Type t = testEnum.GetType();
        // Get the IsValueType property of the testEnum variable.
        flag = t.IsValueType;
        Console.WriteLine("{0} is a value type: {1}", t.FullName, flag);
    }
}
// The example displays the following output:
//        NumEnum is a value type: True

Uwagi

Typy wartości to typy reprezentowane jako sekwencje bitów; typy wartości nie są klasami ani interfejsami. Typy wartości są określane jako "struktury" w niektórych językach programowania. Wyliczenia to specjalny przypadek typów wartości.

Ta właściwość zwraca false wartość dla ValueType klasy, ponieważ ValueType nie jest typem wartości. jest to klasa bazowa dla wszystkich typów wartości, a zatem do niej można przypisać dowolny typ wartości. Nie byłoby to możliwe, jeśli ValueType sam był typem wartości. Typy wartości są wyświetlane po przypisaniu ich do pola typu ValueType.

Ta właściwość zwraca true wartość dla wyliczenia, ale nie dla Enum samego typu. Aby zapoznać się z przykładem tego zachowania, zobacz IsEnum.

Ta właściwość jest tylko do odczytu.

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Zobacz też