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

注釈

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

このプロパティを返しますfalseValueTypeクラス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.

適用対象

こちらもご覧ください