今天写程序时要用到sizeof
在c里面可以直接调用函数sizeof()就行。
但是在c#中有些差异。
- 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类型的测试,其他类型的以后用到的时候再测试一下吧。
本人正在学习C#,欢迎加我qq(413470827),交流,提高。