none
C++与C#的数据类型转换 RRS feed

  • 问题

  • 一维数组的转换例子
    C++的是:
    struct abc
    {
      char aaa[64];
      int bbb;
    }; 
    转换成C#为:
    public struct abc
    {
      [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
      public byte[] aaa;
      public int bbb;
    }

    下面就是我提的问题C++中
    struct GE_DevConfigParaStruct
    {
      char phoneActiveCode[4][12];
    };
    我现在需要的是转换成的C#结构体。。。。。。。。。。。。。。。
    那个大小实在不知道怎么写

    等待高人的现身

     

    2010年8月3日 1:16

答案

  • 你好

    不好意思, 忘了CHECK 自己的CODE

    struct GE_DevConfigParaStruct
    {
      char phoneActiveCode[4][12];
    };

    會轉成以下的CODE

    //當你耐要用他時
    GE_DevConfigParaStruct g = new GE_DevConfigParaStruct(new char[4,12]);

    //STRUCT
        public struct GE_DevConfigParaStruct
        {

            public char[,] phoneActiveCode;
            public GE_DevConfigParaStruct(char[,] pActiveCode)
            {
                phoneActiveCode = pActiveCode;
            }
        }

    希望今次沒有問題
    Chi
    2010年8月3日 8:19
    版主

全部回复

  • 你好

    或者你可以試試以下的CODE

     

    using System;
    
    public struct GE_DevConfigParaStruct
    {
    	public char[,] phoneActiveCode = new char[4,12];
    }

     

    Please correct me if my concept is wrong


    Chi
    2010年8月3日 5:57
    版主
  • 你好,C#的结构体中是不能进行初始化的
    2010年8月3日 7:46
  • 你好

    不好意思, 忘了CHECK 自己的CODE

    struct GE_DevConfigParaStruct
    {
      char phoneActiveCode[4][12];
    };

    會轉成以下的CODE

    //當你耐要用他時
    GE_DevConfigParaStruct g = new GE_DevConfigParaStruct(new char[4,12]);

    //STRUCT
        public struct GE_DevConfigParaStruct
        {

            public char[,] phoneActiveCode;
            public GE_DevConfigParaStruct(char[,] pActiveCode)
            {
                phoneActiveCode = pActiveCode;
            }
        }

    希望今次沒有問題
    Chi
    2010年8月3日 8:19
    版主