最近使用了获取类的类型typeof,后来发现还有GetType方法可以使用,分不清楚他们两的区别,特意查了一下,下面内容介绍一下两者的区别和使用案例,分析给大家。
在C#中的所有类型都在运行时由System.Type的实例表示,可以用两种基本方法来获取System.Type对象,那么就是typeof和GetType,他们都可以获取System.Type对象,它们只有使用区别,具体区别如下:.
使用案例:
//案例类public class Customer{public int id { get; set; }public string name { get; set; }}static void Main(string[] args){Customer customer = new Customer(){id = 2,name = "张学友",};Console.WriteLine(customer.GetType().Name); // CustomerConsole.WriteLine(typeof(Customer).Name); // Point//他们是等效的,只不过运行的环节不同Console.WriteLine(customer.GetType() == typeof(Customer)); //true//显示全名,包括命名空间,下面必须赋值后才能使用Console.WriteLine(customer.name.GetType().FullName); // System.StringConsole.WriteLine(customer.age.GetType().Name); // Int32//另一种使用,从var获取变量类型,这个只支持GetType()var name = "dotnet开发跳槽";Type typename = name.GetType();Console.WriteLine(typename);//全名:System.StringConsole.WriteLine(typename.Name);//String}//输出Customer,Customerture,System.String,Int32 ,System.String,String
结语
本文介绍了typeof和GetType的使用区别, 希望本文对大家学习和工作有一定参考价值,谢谢大家的支持。