using System.Runtime.InteropServices;
......[StructLayout(LayoutKind.Sequential)]
private struct COMMTIMEOUTS 
{  
  public int ReadIntervalTimeout; 
  public int ReadTotalTimeoutMultiplier; 
  public int ReadTotalTimeoutConstant; 
  public int WriteTotalTimeoutMultiplier; 
  public int WriteTotalTimeoutConstant; 

为什么前面要加[]  ?
这有什么用?

解决方案 »

  1.   

    C#提供了一个StructLayoutAttribute类,通过它你可以定义自己的格式化类型,在受管辖代码中,格式化类型是一个用StructLayoutAttribute说明的结构或类成员,通过它能够保证其内部成员预期的布局信息。布局的选项共有三种:LayoutKind.Automatic  
    为了提高效率允许运行态对类型成员重新排序。  
    注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。  
    LayoutKind.Explicit  
    对每个域按照FieldOffset属性对类型成员排序  
    LayoutKind.Sequential  
    对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。