英語で読む

次の方法で共有


Type.IsValueType プロパティ

定義

Type が値型かどうかを示す値を取得します。

C#
public bool IsValueType { get; }

プロパティ値

true が値型である場合は Type。それ以外の場合は false

実装

次の例では、 型 MyEnumの変数を作成し、 プロパティを IsValueType チェックし、結果を表示します。

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

注釈

値型は、ビットのシーケンスとして表される型です。値型はクラスまたはインターフェイスではありません。 値型は、一部のプログラミング言語では "構造体" と呼ばれます。 列挙型は、値型の特殊なケースです。

は値型自体ではないのでValueType、このプロパティは クラスに対ValueTypeして を返falseします。 これはすべての値型の基本クラスであるため、任意の値型を割り当てることができます。 それ自体が値型の場合 ValueType 、これは不可能です。 値型は、 型 ValueTypeのフィールドに割り当てられるときにボックス化されます。

このプロパティは列挙型を true 返しますが、型自体には Enum 返しません。 この動作を示す例については、「」を参照してください IsEnum

このプロパティは読み取り専用です。

適用対象

製品 バージョン
.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

こちらもご覧ください