C#中sizeof使用

转载 2016年05月30日 11:35:27

转载自:http://www.cnblogs.com/stublue/archive/2010/02/01/1661219.html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int val = 8;
            //Console.WriteLine(sizeof(val)); //这个会报错。
            Console.WriteLine(sizeof(int)); //这个正常,跟c里的一样

            Console.WriteLine(System.Runtime.InteropServices.Marshal.SizeOf(val)); //这个能正常输出,查文档得到。
            //Console.WriteLine(System.Runtime.InteropServices.Marshal.SizeOf(int));//这个会报错。
            Console.ReadKey();
        }
    }
}


从上面这个程序来看,
以类型定义关键字作为参数得到 类型大小时,
这样使用 sizeof(type); //type 指int double 等类型
以变量作为参数,得到变量所占空间大小时,
这样使用 System.Runtime.InteropServices.Marshal.sizeof(val); // val指一个变量名
由于时间关系,就写了一个int类型的测试,其他类型的以后用到的时候再测试一下吧。

sizeof(C# 参考)

用于获取非托管类型的大小(以字节为单位)。 非托管类型包括下表列出的内置类型以及以下类型: 枚举类型 指针类型 用户定义的结构,不包含任何属于引用类型的字段或属性 下面的示例演示如何检索 in...
  • AWNUXCVBN
  • AWNUXCVBN
  • 2017年04月08日 21:39
  • 244

C++ sizeof的使用总结

说明:以下代码在VS2008中通过,在32位操作系统下。 1.      定义 sizeof是一个操作符(operator)。 其作用是返回一个对象或类型所占的内存字节数。 其返回值类型为s...
  • candyliuxj
  • candyliuxj
  • 2011年04月07日 19:48
  • 42165

C# sizeof(T)和Marshal.SizeOf(T) 内存对齐

C# sizeof(T)和Marshal.SizeOf 内存对齐
  • luolian123456
  • luolian123456
  • 2015年04月02日 17:33
  • 954

未找到System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) 方法错误

记录此问题实际上是由于.netFrame框架配置太高引起的,一般常见于二次开发中,因为二次开发一般都是引用的com组件,在引用过程中后台代码调用了 Method not found: System....
  • huaxiamengqing
  • huaxiamengqing
  • 2015年05月17日 23:01
  • 4285

C# struct class 在Marshal.SizeOf 的区别

struct 和 class 的区别 最重要的就是 value 和 object 区别了. 但是最近发现另外一个有趣的现象,但是很重要. 一个工程中,因为需要各种结构,于是在开始使用了 ...
  • norsd
  • norsd
  • 2011年12月09日 14:49
  • 3453

C当中关于sizeof(struct)和sizeof(union)

一般32位机子上各个数据类型所占的存储空间如下: char:8位  short:16位 int:32位 long:32位 float:32位 double:64位 一、接下来先来看struct,结构体...
  • selinahuiling
  • selinahuiling
  • 2013年06月07日 14:10
  • 13871

23,选择排序

#include /*  它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。  */ in...
  • dreamljs
  • dreamljs
  • 2015年11月20日 11:45
  • 149

Marshal.SizeOf和sizeof的区别

Sizeof在非Unsafe环境下只能用于预定义的一系列类型,如Int,Short等等。而在Unsafe环境下,sizeof可以被用于值类型,但是值类型中不可以有引用类型,否则C#编译器会报错: e...
  • ATField
  • ATField
  • 2008年11月29日 22:32
  • 5289

C# - Marshal 学习总结

C#——Marshal.StructureToPtr方法简介 http://blog.csdn.net/livelylittlefish/article/details/2423764        ...
  • bcbobo21cn
  • bcbobo21cn
  • 2017年04月11日 18:39
  • 1283

23.数据类型和sizeof运算符

22.1.变量的数据类型的含义 22.2.指针的数据类型的含义 22.3.指针数据类型转换实例 22.4.指针及数组和sizeof运算符...
  • Rston
  • Rston
  • 2016年03月22日 07:30
  • 259
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#中sizeof使用
举报原因:
原因补充:

(最多只允许输入30个字)