コード例 #1
0
        } // GetIntMatrixFromPtr(pointer, nRows, nCols)

        /// <summary>
        /// Get int matrix from ptr
        /// </summary>
        internal static int[][] GetIntMatrixFromPtrLA(IntPtr pointer, int nRows, int nCols)
        {
            IntPtr[] rawRows = new IntPtr[nRows];
            int[][]  oResult = new int[nRows][];
            Marshal.Copy(pointer, rawRows, 0, nRows);
            for (int i = 0; i < nRows; i++)
            {
                oResult[i] = new int[nCols];
                Marshal.Copy(rawRows[i], oResult[i], 0, nCols);
            } // for (int)
            LA.FreeMatrix(pointer, nRows);
            return(oResult);
        } // GetIntMatrixFromPtr(pointer, nRows, nCols)
コード例 #2
0
        } // GetStringArrayFromPtr(pointer, nLength)

        /// <summary>
        /// Get string array from ptr
        /// </summary>
        internal static string[] GetStringArrayFromPtrLA(IntPtr pointer, int nLength)
        {
            IntPtr[] rawRows = new IntPtr[nLength];
            string[] oResult = new string[nLength];
            Marshal.Copy(pointer, rawRows, 0, nLength);

            for (int i = 0; i < nLength; i++)
            {
                oResult[i] = Marshal.PtrToStringAnsi(rawRows[i]);
            } // for (int)

            LA.FreeMatrix(pointer, nLength);
            return(oResult);
        } // GetStringArrayFromPtrLA(pointer, nLength)