typeof Operador Palabra clave en C# – Part 1

typeof es una palabra clave de operador que se utiliza para obtener un tipo en tiempo de compilación. O, en otras palabras, este operador se usa para obtener el objeto System.Type para un tipo. Este operador toma el propio Tipo como argumento y devuelve el tipo marcado del argumento. 
Puntos importantes: 
 

  • El operando del operador typeof es siempre un tipo de parámetro o nombre del tipo. No contiene variable.
  • No está permitido sobrecargar el operador typeof .
  • Está permitido usar el operador typeof en tipos genéricos abiertos.
  • Se permite usar el operador typeof en tipos acotados o no acotados.

Sintaxis:
 

System.Type type = typeof(int);

Aquí, tipo es el tipo que se obtiene.
Ejemplo :
 

CSharp

// C# program to illustrate the
// concept of typeof operator
using System;
 
class GFG {
 
    // Here store Type as a field
    static Type a = typeof(double);
 
    // Main method
    static void Main()
    {
 
        // Display the type of a
        Console.WriteLine(a);
 
        // Display the value type
        Console.WriteLine(typeof(int));
 
        // Display the class type
        Console.WriteLine(typeof(Array));
 
        // Display the value type
        Console.WriteLine(typeof(char));
 
        // Display the array reference type
        Console.WriteLine(typeof(int[]));
    }
}

Producción: 
 

System.Double
System.Int32
System.Array
System.Char
System.Int32[]

Diferencia entre el operador typeof y el método GetType

tipo de operador Método GetType
Toma el propio Tipo como argumento y devuelve el tipo marcado del argumento. Solo se invoca en la instancia del tipo.
Se utiliza para obtener un tipo que se conoce en tiempo de compilación. Se utiliza para obtener el tipo de un objeto en tiempo de ejecución.
No se puede utilizar en una instancia. Se puede utilizar en instancia.

Ejemplo:
 

CSharp

// C# program to illustrate the
// difference between typeof
// operator and GetType method
using System;
 
public class GFG {
 
    // Main method
    static public void Main()
    {
        string s = "Geeks";
 
        // using typeof operator
        Type a1 = typeof(string);
 
        // using GetType method
        Type a2 = s.GetType();
 
        // checking for equality
        Console.WriteLine(a1 == a2);
 
        // taking a type object
        object obj = "Hello";
 
        // using typeof operator
        Type b1 = typeof(object);
 
        // using GetType method
        Type b2 = obj.GetType();
 
        // checking for equality
        // it will return False as
        // GetType method is used
        // to obtain run-time type
        Console.WriteLine(b1 == b2);
    }
}

Producción: 
 

True
False

Explicación: Aquí, Escriba b1 = typeof(objeto); esto devolverá System.Object pero Escriba b2 = obj.GetType(); devolverá System.String . Como, en el momento de la compilación, solo se crea la referencia del tipo de objeto, pero en el tiempo de ejecución, la string («Hola») en realidad se almacena en ella.
 

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *