Home »
C# Tutorial
C# typeof() Operator: Use and Examples
In this tutorial, we will learn about the typeof() operator in C#, its usage with examples.
By IncludeHelp Last updated : April 06, 2023
C# typeof() Operator
The typeof() operator is used to get the system type (with the class name) of the given type. By using "typeof() operator, we can get the name of the type, namespace name. It works with only compile-time known types. It does not work with the variables or instances.
If you want to get the type of a variable, you can use GetType() method.
Properties of typeof() Operator
There are main 3 properties to get the details about the type:
- typeof(type).Name or this.GetType().Name - It returns the class name only.
- typeof(type).FullName or this.GetType().FullName - It returns the class name along with the namespace.
- typeof(type).Namespace or this.GetType().Namespace - It returns the namespace only.
Note: If we do not use any property, by default typeof(type) or this.GetType() returns the FullName.
Syntax
System.type typeof(type);
OR
System.type this.GetType();
typeof(int) - System.Int32
int a = 10;
a.GetType() - System.Int32
C# typeof() Operator Example 1
Print the Name, FullName, Namespace name of the compile-time known types
using System;
using System.Text;
namespace Test {
class Program {
static void Main(string[] args) {
Console.WriteLine("for char type...");
Console.WriteLine("default: " + typeof (char));
Console.WriteLine("Name: " + typeof (char).Name);
Console.WriteLine("FullName: " + typeof (char).FullName);
Console.WriteLine("Namespace: " + typeof (char).Namespace);
Console.WriteLine();
Console.WriteLine("for Int32 type...");
Console.WriteLine("default: " + typeof (Int32));
Console.WriteLine("Name: " + typeof (Int32).Name);
Console.WriteLine("FullName: " + typeof (Int32).FullName);
Console.WriteLine("Namespace: " + typeof (Int32).Namespace);
Console.WriteLine();
Console.WriteLine("for bool type...");
Console.WriteLine("default: " + typeof (bool));
Console.WriteLine("Name: " + typeof (bool).Name);
Console.WriteLine("FullName: " + typeof (bool).FullName);
Console.WriteLine("Namespace: " + typeof (bool).Namespace);
Console.WriteLine();
//hit ENTER to exit
Console.ReadLine();
}
}
}
Output
for char type...
default: System.Char
Name: Char
FullName: System.Char
Namespace: System
for Int32 type...
default: System.Int32
Name: Int32
FullName: System.Int32
Namespace: System
for bool type...
default: System.Boolean
Name: Boolean
FullName: System.Boolean
Namespace: System
C# typeof() Operator Example 2
Print the Name, FullName, Namespace name of the variables.
using System;
using System.Text;
namespace Test {
class Program {
//structure
struct student {
private string name;
private int age;
};
static void Main(string[] args) {
char a = 'X';
int b = 10;
bool c = false;
Console.WriteLine("for variable \'a\'...");
Console.WriteLine("default: " + a.GetType());
Console.WriteLine("Name: " + a.GetType().Name);
Console.WriteLine("FullName: " + a.GetType().FullName);
Console.WriteLine("Namespace: " + a.GetType().Namespace);
Console.WriteLine();
Console.WriteLine("for variable \'b\'...");
Console.WriteLine("default: " + b.GetType());
Console.WriteLine("Name: " + b.GetType().Name);
Console.WriteLine("FullName: " + b.GetType().FullName);
Console.WriteLine("Namespace: " + b.GetType().Namespace);
Console.WriteLine();
Console.WriteLine("for variable \'c\'...");
Console.WriteLine("default: " + c.GetType());
Console.WriteLine("Name: " + c.GetType().Name);
Console.WriteLine("FullName: " + c.GetType().FullName);
Console.WriteLine("Namespace: " + c.GetType().Namespace);
Console.WriteLine();
student std = new student();
Console.WriteLine("for structure \'std\'...");
Console.WriteLine("default: " + std.GetType());
Console.WriteLine("Name: " + std.GetType().Name);
Console.WriteLine("FullName: " + std.GetType().FullName);
Console.WriteLine("Namespace: " + std.GetType().Namespace);
Console.WriteLine();
//hit ENTER to exit
Console.ReadLine();
}
}
}
Output
for variable 'a'...
default: System.Char
Name: Char
FullName: System.Char
Namespace: System
for variable 'b'...
default: System.Int32
Name: Int32
FullName: System.Int32
Namespace: System
for variable 'c'...
default: System.Boolean
Name: Boolean
FullName: System.Boolean
Namespace: System
for structure 'std'...
default: Test.Program+student
Name: student
FullName: Test.Program+student
Namespace: Test