zoukankan      html  css  js  c++  java
  • sizeof运算符

    sizeof运算符

    用于获取非托管类型的大小(以字节为单位)。 非托管类型包括下表列出的内置类型以及以下类型:

    枚举类型
    指针类型
    用户定义的结构,不包含任何属于引用类型的字段或属性
    下面的示例演示如何检索 int 的大小:
    C#
    // Constant value 4:
    int intSize = sizeof(int);

    备注
    从 C# 2.0 版开始,将 sizeof 应用于内置类型不再要求使用 unsafe 模式。
    不能重载 sizeof 运算符。 sizeof 运算符的返回值是 int 类型。 下表列出了一些常量值,这些值对应于以某些内置类型为操作数的 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(decimal)

    16

    sizeof(bool)

    1

    对于所有其他类型(包括结构),sizeof 运算符只能在不安全代码块中使用。 尽管可以使用 Marshal.SizeOf 方法,但此方法返回的值并不总是与 sizeof 返


    对于所有其他类型(包括结构),sizeof 运算符只能在不安全代码块中使用。 尽管可以使用 Marshal.SizeOf 方法,但此方法返回的值并不总是与 sizeof 返回的值相同。 Marshal.SizeOf 在封送类型后返回大小,而 sizeof 返回公共语言运行时分配的大小(包括所有填充)。
    示例
    C#

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace UseSizeof
    {
    class Program
    {
    static void Main(string[] args)
    {
    //Sizeof运算符
    Console.WriteLine("The size of byte is ({0})个字节", sizeof(byte));
    Console.WriteLine("The size of sbyte is ({0})个字节", sizeof(sbyte));
    Console.WriteLine("The size of short is ({0})个字节", sizeof(short));
    Console.WriteLine("The size of ushort is ({0})个字节", sizeof(ushort));
    Console.WriteLine("The size of int is ({0})个字节", sizeof(int));
    Console.WriteLine("The size of uint is ({0})个字节", sizeof(uint));
    Console.WriteLine("The size of long is ({0})个字节", sizeof(long));
    Console.WriteLine("The size of ulong is ({0})个字节", sizeof(ulong));
    Console.WriteLine("The size of char is ({0})个字节", sizeof(char));
    Console.WriteLine("The size of float is ({0})个字节", sizeof(float));
    Console.WriteLine("The size of double is ({0})个字节", sizeof(double));
    Console.WriteLine("The size of decimal is ({0})个字节", sizeof(decimal));
    Console.WriteLine("The size of bool is ({0})个字节", sizeof(Boolean));
    }
    }
    }


    /*
    Output:

    The size of byte is (1)个字节
    The size of sbyte is (1)个字节
    The size of short is (2)个字节
    The size of ushort is (2)个字节
    The size of int is (4)个字节
    The size of uint is (4)个字节
    The size of long is (8)个字节
    The size of ulong is (8)个字节
    The size of char is (2)个字节
    The size of float is (4)个字节
    The size of double is (8)个字节
    The size of decimal is (16)个字节
    The size of bool is (1)个字节


    */

  • 相关阅读:
    按比例缩放图片
    Centos8中安装并配置VDO来优化存储空间
    如何使用wipefs命令擦除磁盘上的签名
    cpufetch – 查询cpu架构信息的工具
    告别App,数字人民币钱包来了
    微软拿掉“测试版”的头衔,正式推出Windows 11 PC健康检查工具
    Find命令查找最近几天修改的文件
    Linux中source命令的使用方式
    稍微停顿,在思考一下。
    旺旺协议分析相关资料
  • 原文地址:https://www.cnblogs.com/melao2006/p/4238198.html
Copyright © 2011-2022 走看看