c#中typeof_C#中带有示例的typeof()运算符

c#中typeof

C#typeof()运算符 (C# typeof() Operator)

typeof() is an operator in C#, it is used to get the type (system type) of with class name of a given type. By using typeof() operator, we can get the name of the type, namespace name. It works with only compile-time known types. typeof() operator does not work with the variables or instances.

typeof()是C#中的运算符,用于获取具有给定类型的类名的类型(系统类型)。 通过使用typeof()运算符 ,我们可以获得类型的名称,即名称空间名称。 它仅适用于编译时已知的类型。 typeof()运算符不适用于变量或实例。

If you want to get the type of a variable, you can use GetType() method.

如果要获取变量的类型,可以使用GetType()方法。

There are main 3 properties to get the details about the type:

主要的3个属性可获取有关类型的详细信息:

  1. typeof(type).Name or this.GetType().Name – It returns the class name only.

    typeof(type).Name或this.GetType()。Name –仅返回类名称。

  2. typeof(type).FullName or this.GetType().FullName – It returns the class name along with the namespace.

    typeof(type).FullName或this.GetType()。FullName –返回类名和名称空间。

  3. typeof(type).Namespace or this.GetType().Namespace – It returns the namespace only.

    typeof(type).Namespace或this.GetType()。Namespace –仅返回名称空间。

Note: If we do not use any property, by default typeof(type) or this.GetType() returns the FullName.

注意:如果不使用任何属性,则默认为typeof(type)或this.GetType()返回FullName 。

Syntax:

句法:

    System.type typeof(type);
    or
    System.type this.GetType();

Example:

例:

    typeof(int)     - System.Int32
    int a = 10;
    a.GetType()     - System.Int32

Example 1: print the Name, FullName, Namespace name of the compile-time known types.

示例1:打印编译时已知类型的Name,FullName,Namespace名称。

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


Example 2: print the Name, FullName, Namespace name of the variables.

示例2:打印变量的名称,全名,命名空间名称。

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


翻译自: https://www.includehelp.com/dot-net/typeof-operator-in-c-sharp-with-example.aspx

c#中typeof

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值