Leer en inglés

Compartir a través de


Type.IsValueType Propiedad

Definición

Obtiene un valor que indica si el objeto Type es un tipo de valor.

C#
public bool IsValueType { get; }

Valor de propiedad

Es true si Type es un tipo de valor; en caso contrario, es false.

Implementaciones

Ejemplos

En el ejemplo siguiente se crea una variable de tipo MyEnum, se comprueba la IsValueType propiedad y se muestra el resultado.

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

Comentarios

Los tipos de valor son tipos que se representan como secuencias de bits; los tipos de valor no son clases ni interfaces. Los tipos de valor se conocen como "structs" en algunos lenguajes de programación. Las enumeraciones son un caso especial de tipos de valor.

Esta propiedad devuelve false para la ValueType clase , porque ValueType no es un tipo de valor en sí. es la clase base para todos los tipos de valor y, por tanto, cualquier tipo de valor se puede asignar a él. Esto no sería posible si ValueType se tratase de un tipo de valor. Los tipos de valor se boxan cuando se asignan a un campo de tipo ValueType.

Esta propiedad devuelve true para enumeraciones, pero no para el Enum propio tipo. Para ver un ejemplo que muestra este comportamiento, vea IsEnum.

Esta propiedad es de sólo lectura.

Se aplica a

Producto Versiones
.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

Consulte también