Type.IsValueType Type.IsValueType Type.IsValueType Type.IsValueType Property

定義

Type が値型かどうかを示す値を取得します。Gets a value indicating whether the Type is a value type.

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

プロパティ値

true が値型である場合は Type。それ以外の場合は falsetrue if the Type is a value type; otherwise, false.

実装

次の例では、型MyEnumの変数を作成し、 IsValueTypeプロパティをチェックして、結果を表示します。The following example creates a variable of type MyEnum, checks for the IsValueType property, and displays the result.

using namespace System;

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

int main()
{
    bool flag = false;
    NumEnum testEnum = NumEnum::One;
      
    // Get the type of myTestEnum.
    Type^ t = testEnum.GetType();
      
    // Get the IsValueType property of the myTestEnum
    // variable.
    flag = t->IsValueType;
    Console::WriteLine("{0} is a value type: {1}", t->FullName, flag);
}
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 myTestEnum.
        Type t = testEnum.GetType();
        // Get the IsValueType property of the myTestEnum 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.
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

注釈

値型は、ビットのシーケンスとして表現される型です。値型はクラスまたはインターフェイスではありません。Value types are types that are represented as sequences of bits; value types are not classes or interfaces. 値型は、一部のプログラミング言語では "struct" と呼ばれます。Value types are referred to as "structs" in some programming languages. 列挙型は、値型の特殊なケースです。Enums are a special case of value types.

は値型falseではValueTypeないためValueType 、このプロパティはクラスに対してを返します。This property returns false for the ValueType class, because ValueType is not a value type itself. これはすべての値型の基底クラスであるため、任意の値型を割り当てることができます。It is the base class for all value types, and therefore any value type can be assigned to it. それ自体が値型のValueType場合、これを行うことはできません。This would not be possible if ValueType itself was a value type. 値型は、型ValueTypeのフィールドに割り当てられるときにボックス化されます。Value types are boxed when they are assigned to a field of type ValueType.

このプロパティはtrue 、列挙Enum型に対してを返しますが、型自体にはを返しません。This property returns true for enumerations, but not for the Enum type itself. この動作を示す例についてはIsEnum、「」を参照してください。For an example that demonstrates this behavior, see IsEnum.

このプロパティは読み取り専用です。This property is read-only.

適用対象

こちらもご覧ください