C#.net的写法问题,我看到了一句如下写法的C#代码,但是我在书上找不到,这种写法
为什么有这么多的[],方括号,我可能没说清楚,但是请大致说说这种扩在方括号的写法[StructLayout(LayoutKind.Explicit)]publicstru...
为什么有这么多的[ ],方括号,我可能没说清楚,但是请大致说说这种扩在方括号的写法
[StructLayout(LayoutKind.Explicit)]
public struct IPHeader
{
[FieldOffset(0)]
public byte versionAndLength;//4位IP版本号+4位IP包头长度
[FieldOffset(1)]
public byte typeOfService;//8位服务类型
[FieldOffset(2)]
public ushort totalLength;//16位总长度(字节)
[FieldOffset(4)]
public ushort identifier;//16位标识
[FieldOffset(6)]
public ushort flagsAndOffset;//3位标志位+13位报片偏移
[FieldOffset(8)]
public byte timeToLive;//8位生存时间
[FieldOffset(9)]
public byte protocol;//8位协议 (TCP, UDP 或其他)
[FieldOffset(10)]
public ushort checksum;//16位IP包头校验和
[FieldOffset(12)]
public uint sourceAddress;//32位源IP地址
[FieldOffset(16)]
public uint destinationAddress;//32位目的IP地址
} 展开
[StructLayout(LayoutKind.Explicit)]
public struct IPHeader
{
[FieldOffset(0)]
public byte versionAndLength;//4位IP版本号+4位IP包头长度
[FieldOffset(1)]
public byte typeOfService;//8位服务类型
[FieldOffset(2)]
public ushort totalLength;//16位总长度(字节)
[FieldOffset(4)]
public ushort identifier;//16位标识
[FieldOffset(6)]
public ushort flagsAndOffset;//3位标志位+13位报片偏移
[FieldOffset(8)]
public byte timeToLive;//8位生存时间
[FieldOffset(9)]
public byte protocol;//8位协议 (TCP, UDP 或其他)
[FieldOffset(10)]
public ushort checksum;//16位IP包头校验和
[FieldOffset(12)]
public uint sourceAddress;//32位源IP地址
[FieldOffset(16)]
public uint destinationAddress;//32位目的IP地址
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询