sizeof运算符的作用是获取指定数据类型的字节数。在C#中只能用于值类型,不能用于引用类型中,
对于结构(struct),sizeof运算符可用于不安全的代码中。
1、在VS2008编程环境中,unsafe代码的编译必须使用/unsafe参数参能编译。在项目属性中,将“生成”页签
下的"允许不安全代码"选中,然后编译运行。
class SizeofExample
{
public static void GetSizeofExample()
{
unsafe//表示不安全代码
{
//获取结构占用的字节长度,这句代码必须放在unsafe声明的范围内
Console.WriteLine("MyPoint结构占用的字节数为:" + sizeof(MyPoint));
}
//以下显示各种基本数据类型的sizeof运算结果
Console.WriteLine("sbyte数据类型的字节数为:" + sizeof(sbyte));
Console.WriteLine("byte数据类型的字节数为:" + sizeof(byte));
Console.WriteLine("short数据类型的字节数为:" + sizeof(short));
Console.WriteLine("ushort数据类型的字节数为:" + sizeof(ushort));
Console.WriteLine("int数据类型的字节数为:" + sizeof(int));
Console.WriteLine("uint数据类型的字节数为:" + sizeof(uint));
Console.WriteLine("long数据类型的字节数为:" + sizeof(long));
Console.WriteLine("ulong数据类型的字节数为:" + sizeof(ulong));
Console.WriteLine("char数据类型的字节数为:" + sizeof(char));
Console.WriteLine("float数据类型的字节数为:" + sizeof(float));
Console.WriteLine("double数据类型的字节数为:" + sizeof(double));
Console.WriteLine("bool数据类型的字节数为:" + sizeof(bool));
Console.ReadLine();
}
struct MyPoint//表示点的结构
{
public int X;//点的X座标
public int Y;//点的Y座标
}
}