解决方案 »
- 这循环怎么做?
- 如何学好MS SQL SERVER的存储过程?
- 哈希码可以还原成为原来的文件吗?
- 在C#.NET中的 如何清空一个已邦定DataSet的ComboBox里的内容?
- 在DataGrid中如何绑定这种列呢<%#Container.DataItem("UserName")%>。。。。
- 好着急,等待中,(数据库SQL的统计,DATASET,DATAREADER)
- 帮忙
- 如何用c#实现邮件收发(包括附件的收发)?
- 关于自定义菜单
- c#通过windowsapi获取外部程序中listbox的值,有的可以获取到,有的获取不到,LB_GETCOUNT都能取到正确数量
- 跟visio似的 拖动按钮生成又可在Panel上移动的东西 都是什么控件?
- 请教 在Asp.Net下 的方法?
u16 ushort
u32 uint
public class WAVEFORMATEX
{
public byte ver = 0;public UInt16 len = 0;public UInt32 crc = 0;public byte[] third_id = new byte[64];public IntPtr url_data = IntPtr.Zero;
}
[StructLayoutAttribute(LayoutKind.Sequential,Pack = 1)]
public struct MSG_HEAD_ST
{
[MarshalAs(UnmanagedType.I1, SizeConst = 1)]
private byte ver; public byte Ver
{
get { return ver; }
set { ver = value; }
}
[MarshalAs(UnmanagedType.I2, SizeConst = 2)]
private short len; public short Len
{
get { return len; }
set { len = value; }
}
[MarshalAs(UnmanagedType.I4, SizeConst = 4)]
private int crc; public int Crc
{
get { return crc; }
set { crc = value; }
}
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
private byte[] third_id; public byte[] Third_id
{
get { return third_id; }
set { third_id = value; }
}
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1)]
private string url_data; public string Url_data
{
get { return url_data; }
set { url_data = value; }
}
}
我是这样写的 这样写 计算出的字节数多了一个 Url_data就是这个 他本身是0字节的 怎么才能把它定义成0字节的呢
public partial class Form1 : Form
{
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public class MSG_HEAD_ST
{
public byte ver = 0; public UInt16 len = 0; public UInt32 crc = 0; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] third_id = new byte[64]; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1)]
public string Url_data = null;
} public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Console.WriteLine(Marshal.SizeOf(typeof(MSG_HEAD_ST)));
MSG_HEAD_ST o = new MSG_HEAD_ST();
o.Url_data = "12345";
Console.WriteLine(o.Url_data);
}
}