typeof操作符,sizeof操作符

本文深入探讨typeof操作符和sizeof操作符在编程中的应用,通过示例展示如何获取类型信息及计算数据类型占用的字节数。重点介绍了两者在不同场景下的区别和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天没有好好学习技术,哎!罪过啊,今天继续吧,一定要补上哦。今天先学学一个操作符吧

对于一个类型,typeof操作符被用来获得System.Type对象,格式:typeof (type)必须是具体的类名、类型名称等,不可以是变量名称;对于候选类型,typeof-expression 的结果是System.Type对象

class Test
{
	static void Main() {
		Type[] t = {
			typeof(int),
			typeof(System.Int32),
			typeof(string),
			typeof(double[])
		};
		for (int i = 0; i < t.Length; i++) {
			Console.WriteLine(t[i].Name);
		}
	}
}

产生下面的输出:

Int32
Int32
String
Double[]

typeof(T);其实就是一个反射机制,以后的章节会去详细学习反射,这个先不讲了;

GetType()和typeof相同都返回类型type;

不同的是如果想获得一个类A的类型,直接typeof(类)就可以了,但是如果想获取类的Type值,用GetType之前必须实例化 ;

列如:A a = new A();这时如果想获取该a的Type值,就直接用a的.GetType()即可。

sizeof操作符

sizeof操作符是从C/C++中借用来的,它用来返回某种数据类型所占用的字节数

sizeof操作符以字节形式给出了其操作数的存储空间,操作数的存储空间有操作数的类型决定。操作数可以是变量、类型(需加括号)或表达式。

使用场合:

1) 动态分配内存时,计算需要分配的内存空间大小

2) 由于不同平台相同类型的所占的字节数不同,可以使用sizeof代替常量计算

不适用场合

sizeof操作符不能用于不完全类型定义,例如数组必须有确定的维数,结构体有完整的成员列表定义。

表达式结果
sizeof(sbyte)
 1
sizeof(byte)
 1
sizeof(short)
 2
sizeof(ushort)
 2
sizeof(int)
 4
sizeof(uint)
 4
sizeof(long)
 8
sizeof(ulong)
 8
sizeof(char)
 2 (Unicode)
sizeof(float)
 4
sizeof(double)
 8
sizeof(bool)
 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值