C语言中的结构体
typedef struct
{
    long Serialno;
    UCHAR validateTime[7];
    UCHAR Identity[19];
    uchar Name[17];
    uchar gender;
}_Basic_Info;
在C#里怎么重写啊

解决方案 »

  1.   

    //参考,不见得最佳
    //使用时_Basic_Info my = new _Basic_Info(0,0);
    [ StructLayout( LayoutKind.Sequential )]
    struct _Basic_Info 
    {
    public long Serialno;
    public byte gender;
    public byte[] validateTime;
    public byte[] Identity;
    public byte[] Name;
    public _Basic_Info(long Serialno,byte gender)
    {
    this.Serialno=Serialno;
    this.gender=gender;
    this.validateTime=new byte[7];
    this.Identity=new byte[19];
    this.Name=new byte[17];
    }
    };
      

  2.   

    可访问性不一致: 参数类型“ref struct_Basic_Info”比方法的可访问性低
      

  3.   

    什么都要一样那就成了MI IVhaha
      

  4.   

    [ StructLayout( LayoutKind.Sequential )]
    public struct _Basic_Info
    {
    public long Serialno;
    public byte gender;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
    public byte[] validateTime;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 19)]
    public byte[] Identity;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
    public byte[] Name;
    };
    试一下:)
      

  5.   

    乱搞,C#怎么能和C相比,C#都是用C写的
      

  6.   

    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
    public byte[] validateTime;
    这个是时间类型,但在C#里有时间类型啊