您的位置:首页 > 其它

关于StructLayout的一个bug??

2006-06-08 20:59 274 查看
今天在公司用vs2003写了段代码

using System;
using System.Runtime.InteropServices;

namespace TestCSharp
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct Data
public int i;
public char ch;
}

class Program
static void Main(string[] args)
unsafe
int size = sizeof(Data);
Console.WriteLine("size = {0}", size);
}
}
}

}

结果输出是8,但是按照理论应该是6啊, 真是不解。

回家后,把这段代码在vs2005中输入,运行。结果是6,bingo!
但我认为这个东西不应该会出现bug啊,也从来没听人说过,难道是我设置错误!
明天对代码ildasm一下看看,希望能看到其中的玄机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: