C# GetType和typeof

C#GetType和typeof
C#中的所有类型都在运行时由System.Type的实例表示。

有两种基本方法来获取System.Type对象:

在实例上调用GetType。
对类型名称使用typeof运算符。
GetType 在运行时计算; typeof 在编译时被静态计算。

System.Type具有类型名称,程序集,基本类型等属性。

例子
例如:

using System;

class Point {
public int X, Y;
}

class Main {
static void Main() {
Point p = new Point();
Console.WriteLine (p.GetType().Name); // Point
Console.WriteLine (typeof (Point).Name); // Point
Console.WriteLine (p.GetType() == typeof(Point)); // True
Console.WriteLine (p.X.GetType().Name); // Int32
Console.WriteLine (p.Y.GetType().FullName); // System.Int32
}
}

例2
以下代码从var定义的变量获取类型。

using System;

class Program {
static void Main(string[] args) {
var name = "www.w3cschool.cn";
var age = 25;
var isRabbit = true;

Type nameType = name.GetType(); 
Type ageType = age.GetType(); 
Type isRabbitType = isRabbit.GetType(); 

Console.WriteLine("name is type " + nameType.ToString()); 
Console.WriteLine("age is type " + ageType.ToString()); 
Console.WriteLine("isRabbit is type " + isRabbitType.ToString()); 

}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自:https://www.cnblogs.com/dotnet261010/p/9034594.html 作...
    rainbowfart阅读 1,268评论 0 0
  • 程序集加载 程序集加载,CLR使用System.Reflection.Assembly.Load静态方法,当然这个...
    北风知我意阅读 2,164评论 0 0
  • 一.泛型之前的故事#  我们肯定会想到用object来作为类型参数,因为在C#中,所有类型都是基于Object类型...
    金色888阅读 278评论 0 0
  • 属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C...
    北风知我意阅读 609评论 0 0
  • 应用场景 最近碰到一个问题,就是想把json字符串中的字段名称都改成首字母小写,当然这个json是非常大的,手动改...
    sherman168阅读 1,274评论 0 1