Type.IsValueType Egenskap

Definition

Hämtar ett värde som anger om Type är en värdetyp.

public:
 property bool IsValueType { bool get(); };
public bool IsValueType { get; }
member this.IsValueType : bool
Public ReadOnly Property IsValueType As Boolean

Egenskapsvärde

true Type om är en värdetyp, annars . false

Implementeringar

Exempel

I följande exempel skapas en variabel av typen MyEnum, söker efter IsValueType egenskapen och visar resultatet.

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
// Declare an enum type.
type NumEnum = One = 1 | Two = 2

let testEnum = NumEnum.One
// Get the type of testEnum.
let t = testEnum.GetType()
// Get the IsValueType property of the testEnum variable.
let flag = t.IsValueType
printfn $"{t.FullName} is a value type: {flag}"
// The example displays the following output:
//        NumEnum is a value type: True
' Declare an enum type.
Enum NumEnum
    One
    Two
End Enum
    
Public Class Example

    Public Shared Sub Main()
        Dim flag As Boolean = False
        Dim testEnum As NumEnum = NumEnum.One
        ' Get the type of myTestEnum.
        Dim t As Type = testEnum.GetType()
        ' Get the IsValueType property of the myTestEnum variable.
         flag = t.IsValueType()
         Console.WriteLine("{0} is a value type: {1}", t.FullName, flag)
     End Sub 
 End Class  
' The example displays the following output:
'       NumEnum is a value type: True

Kommentarer

Värdetyper är typer som representeras som sekvenser av bitar. värdetyper är inte klasser eller gränssnitt. Värdetyper kallas "structs" på vissa programmeringsspråk. Uppräkningar är ett specialfall med värdetyper.

Den här egenskapen returnerar false för ValueType klassen eftersom ValueType den inte är en egen värdetyp. Det är basklassen för alla värdetyper och därför kan alla värdetyper tilldelas till den. Detta skulle inte vara möjligt om ValueType det i sig var en värdetyp. Värdetyper boxas när de tilldelas till ett fält av typen ValueType.

Den här egenskapen returnerar true för uppräkningar, men inte för Enum själva typen. Ett exempel som visar det här beteendet finns i IsEnum.

Den här egenskapen är skrivskyddad.

Gäller för

Se även